jquery.selectbox_wev8.js
2.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
(function($){
$.fn.selectbox = function(options){
var options = jQuery.extend({
pageSize:10,
pageId:"",
event:"keyup",
callback:null
},options);
//用变量idm存储select的id或name
var idm = jQuery(this).attr("id") || jQuery(this).attr("name");
if(!idm){
return jQuery(this);
}
if(jQuery("#" + idm + "div").length <= 0){//判断动态创建的div是否已经存在,如果不存在则创建
var divHtml = "<div style='display:none;background:transparent;' id='" + idm + "div'><input maxLength=2 style='background:transparent;text-align:center;border:none;color:#fff' type='text' value='"+options.pageSize+"' name='" + idm + "inputText' id='" + idm + "inputText'/></div>";
jQuery(this).attr("tabindex",-1).after(divHtml);
resetDivPosition(idm,this);
//select注册onchange事件
jQuery(this).change(function(e){
var inputtext = jQuery("#" + idm + "inputText");
inputtext.val(jQuery(this).val());
savePageSize(e,inputtext,options.pageId,true);
});
}
if(!!options.callback){
jQuery("#" + idm + "inputText").bind(options.event,function(e){
options.callback(e,this,options.pageId);
});
}
//解决ie6下select浮在div上面的bug
jQuery("#" + idm + "div").bgIframe();
jQuery(window).bind("resize",function(){
resetDivPosition(idm,jQuery("#"+idm),true);
});
return jQuery(this);
}
})(jQuery);
var resetDivPosition = function(idm,obj,resizable){
try{
if(!!resizable || jQuery.browser.msie){
jQuery("#" + idm + "div").css({position:"absolute",top:Math.floor(jQuery(obj).position().top) ,left:jQuery(obj).position().left+5}).show();
}else{
if(jQuery.browser.mozilla){
jQuery("#" + idm + "div").css({position:"absolute",top:Math.floor(jQuery(obj).position().top+1) ,left:jQuery(obj).position().left+5}).show();
}else{
jQuery("#" + idm + "div").css({position:"absolute",top:Math.ceil(jQuery(obj).position().top) ,left:jQuery(obj).position().left+5}).show();
}
}
if(jQuery.browser.msie && jQuery.browser.version=="9.0"){
jQuery("#" + idm + "inputText").css({width:jQuery(obj).width()-13,height:jQuery(obj).height() + 1});
}else{
jQuery("#" + idm + "inputText").css({width:jQuery(obj).width()-16,height:jQuery(obj).height() + 2});
}
if(!jQuery.browser.msie){
jQuery("#" + idm + "inputText").css("line-height",(jQuery(obj).height() + 2)+"px");
}
}catch(e){}
}