本文實例講述了jquery自動補齊功能插件flexselect用法。分享給大家供大家參考,具體如下:
這幾天正在做一個東東。需要用到自動補齊的功能。也就是select控件的文本項可以讓它寫。默認的select文本框是只讀的,不能寫。在網上找到一個jQuery插件:flexselect可以完成這項功能。
將插件放到項目裡。然後在頁面中引用這個插件。
<script src="${pageContext.request.contextPath}/js/jquery.flexselect-0.2/jquery.flexselect.js" type="text/JavaScript"></script> <script src="${pageContext.request.contextPath}/js/jquery.flexselect-0.2/liquidmetal.js" type="text/javascript"></script> <link href="${pageContext.request.contextPath}/js/jquery.flexselect-0.2/flexselect.css" rel="stylesheet" type="text/css" >
然後在js腳本中寫入這樣的代碼:
<script type="text/javascript"> jQuery(document).ready(function(){ $("select[class*=flexselect]").flexselect(); }); </script>
剛開始是這樣寫的:
<script type="text/javascript"> var jq = jQuery.noConflict(); jq(function(){ jq("select[class*=flexselect]").flexselect(); jq("#province").change(function (){ jq("#city").empty(); if($("#province").val() != "") { ajaxPost("${pageContext.request.contextPath}/test/queryCityByProvince.do",backCity,{"province":jq("#province").val()}); } }); });
但是這樣的話,與其中一個其它js沖突。目前還不知道怎麼回事,有待研究!
另外,如果select是通過js動態生成的。那麼在相應的位置加下這麼一句:$("select[class*=flexselect]").flexselect();
function backQuery(data){ var result=data[0]['resultList']; var html=""; html+="<td width='25%'>serial分組<font color='red'>*</font>:</td>"; html+="<script type='text/javascript'>$(\"select[class*=flexselect]\").flexselect()\;<\/script>"; //注意:如果不加這一句,就不會出效果~~ html+="<td width='75%'><select name='serialTeamName' class='flexselect' style='width:200px'>";. for(var i=0;i<result.length;i++){ html+="<option value="+result[i]['name']+">"+result[i]['name']+"</option>"; } html+="</select></td>"; $("#serialGroupTr").append(html);