(function($){ $.fn.selectbox = function(){ //用变量idm存储select的id或name var idm = $(this).attr("id") || $(this).attr("name"); if($("#" + idm + "div").length <= 0){//判断动态创建的div是否已经存在,如果不存在则创建 var divHtml = "<div style='display:none' id='" + idm + "div'><input name='' type='text' id='" + idm + "inputText'/></div>"; $(this).attr("tabindex",-1).after(divHtml); $("#" + idm + "div").css({position:"absolute",top:$(this).position().top ,left:$(this).position().left}).show(); $("#" + idm + "inputText").val($(this).find("option:selected").text()).css({width:$(this).width()-13,height:$(this).height() + 2}); $("#" + idm + "inputText").attr("name",$(this).val()); //select注册onchange事件 $(this).change(function(){ $("#" + idm + "inputText").val($(this).find("option:selected").text()); $("#" + idm + "inputText").attr("name",$(this).val()); }) } //解决ie6下select浮在div上面的bug $("#" + idm + "div").bgIframe(); var res={"val": $("#" + idm + "inputText").attr("name"),"text":$("#" + idm + "inputText").val()}; //return $("#" + idm + "inputText").val(); //return $("#" + idm + "inputText").attr("name"); return res; } })(jQuery); 调用时如下:
<input id="tx" type="button" name="" value="测试获得的select值" οnclick='alert("选中val:" + $("#test1").selectbox().val+"\u000d选中text:" + $("#test1").selectbox().text)'/>