本文實例講述了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);