Jquery easyui的combobox的默认“请选择”“全部”扩展

摘要:Jquery easyui的combobox的默认“请选择”“全部”扩展 ...

扩展版本1.2.2:

1、首先在<input type="text" class="combo-text">上面添加一段用来显示默认文字的代码。

<span class="combo-defaultText"></span>

位置在
var _5c8=$("<input type=\"text\" class=\"combo-text\">").appendTo(span);之前加上
$("<span class=\"combo-defaultText\"></span>").appendTo(span);

2、样式:
.combo-defaultText{
float:left;
position:absolute;
padding:3px 0 0 3px;
color:#4e4e4;
}

3、添加默认属性defaultText:

$.fn.combo.defaults=$.extend({},$.fn.validatebox.defaults,{width:"auto",defaultText:'请选择',panelWidth:null,panelHeight:200,。。。。。。。。。。

4、初始化时将相应的文本添加到输入框中

位置,在_5c1.find("input.combo-text").width(_5c0);之上添加

if(_5c1.val().length>0){//判断初始的时候是否有值,如果没值则将默认的值直接放到<span class="combo-defaultText"></span>中
_5c1.find(".combo-defaultText").text(opts.defaultText?opts.defaultText:'');
}

5、在鼠标单击图标的时候,执行如下代码(对应放置,只有if是新添加的):

$(document).bind("mousedown.combo",function(e){
if(_5d1.val().length <=0 ){//4
_5cf.find(".combo-defaultText").text('');}
$("div.combo-panel").panel("close");
});

6、 鼠标焦点输入,及移除时时,置空(3、6为新添加的行)

_5d1.bind("mousedown.combo",function(e){
_5cf.find(".combo-defaultText").text('');//3
e.stopPropagation();
}).bind('focusout.combo',function(e){//6
if(_5d1.val().length <=0 ){
_5cf.find(".combo-defaultText").text(opts.defaultText?opts.defaultText:'');
}})

7、键盘事件(可不写),对应位置新添加即可(5为添加的语句)

if(opts.editable){
setTimeout(function(){
var q=_5d1.val();
if(q.length <=0 ){//5
_5cf.find(".combo-defaultText").text('');
}
if($.data(_5ce,"combo").previousValue!=q){
$.data(_5ce,"combo").previousValue=q;
_5d3(_5ce);
opts.keyHandler.query.call(_5ce,_5d1.val());
_5db(_5ce,true);
}
},10);
}

8、当下拉框打开的时候,置空。在opts.onShowPanel.call(_5d4);之前添加
_5d5.find(".combo-defaultText").text('');//2
opts.onShowPanel.call(_5d4);

9、当给具体的组件赋值的时候,执行:

_5f3.find(".combo-defaultText").text('');放置于_5f4.val(_5f1[i]);之后

 

注:当前的扩展是针对combo的,而不是combobox。

你可能感兴趣的:(Jquery easyui的combobox的默认“请选择”“全部”扩展)