EdwardSiCong 2012-03-31
扩展版本1.2.2:
1、首先在<input type="text" class="combo-text">上面添加一段用来显示默认文字的代码。
<span class="combo-defaultText"></span>
位置在
var_5c8=$("<inputtype=\"text\"class=\"combo-text\">").appendTo(span);之前加上
$("<span class=\"combo-defaultText\"></span>").appendTo(span);2、样式:
.combo-defaultText{
float:left;
position:absolute;
padding:3px003px;
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(){
varq=_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。
/*http://www.jeestudio.com 版权所有,转载请说明出处*/