2014-02-26 125 views
0

我的多選選項會自動生成如下複選框的名稱:name="multiselect_categorySelect。我想這樣自動生成:name="multiselect_categorySelect[]與'[]'。使用im從this site如何使用jQuery UI MultiSelect Widget獲取多個複選框值?

我的代碼多選是:

<select multiple="multiple" id ="categorySelect" name = "category" >  
<option values ="1">Category 1 </option> 
<option values ="2">Category 2 </option> 
<option values ="3">Category 3 </option> 
</select> 
<script type="text/javascript"> 
    $("#categorySelect").multiselect({ 
        header: false 

    }); 
</script> 

我可以在多選什麼產生正如我所提到的複選框的名字嗎?

+0

我沒有寫它,但所有來自multiselect的js和css都包含在內! – Chester

回答

1

至於有一個爲你不得不修改源的選項。在線路165

html += '<input id="' + inputID + '" name="multiselect_' + id + '" type="' + (o.multiple ? "checkbox" : "radio") + '" value="' + value + '" title="' + title + '"'; 

變化

name="multiselect_' + id + '" 

name="multiselect_' + id + '[]" 

或者,如果你不想觸及源,使用控件創建事件:

create: function() { 
    var $widget = $(this).multiselect("widget"); 
    var $inputs = $widget.find(".ui-multiselect-checkboxes input:checkbox"); 
    var newName = $inputs.first().attr("name") + "[]"; 
    $inputs.attr("name", newName); 
} 

看這個小提琴:http://jsfiddle.net/akhyp/982/

0

這是一個不太好回答,但它的工作原理:

$(" label input").each(function(){ 
      var x = $(this).attr("name",$(this).attr("name")+"[]"); 
}); 
相關問題