如何在多值select中设置select的值在Jquery-Select2中。

大家好我绑定我的下拉与Jquery-Select2。 它的工作正常,但现在我需要通过使用Jquery-Select2绑定我的多值select框。

我的DropDwon

<div class="divright"> <select id="drp_Books_Ill_Illustrations" class="leaderMultiSelctdropdown Books_Illustrations" name="drp_Books_Ill_Illustrations" multiple=""> <option value=" ">No illustrations</option> <option value="a">Illustrations</option> <option value="b">Maps</option> <option value="c">Portraits</option> </select> </div> 

从这个链接http://ivaynberg.github.com/select2/我使用多值select框,我可以绑定我的dropdwon

  $("dropdownid").Select2() 

它的工作正常,但现在我需要得到select的值到我的下拉编辑模式所以我使用这个例子

  $(".Books_Illustrations").select2("val", ["a", "c"]); 

它的工作,但我怎么能修复我的select,因为用户可以select任何东西所以我不能写一个,静态这就是为什么我需要dynamic地绑定我的选定值编辑模式。

我想现在你们都清楚我的要求了。 请让我知道,如果你需要进一步清除。

那么实际上你只需要$ .each来获得所有的值,它会帮助你jsfiddle.net/NdQbw/5

 <div class="divright"> <select id="drp_Books_Ill_Illustrations" class="leaderMultiSelctdropdown Books_Illustrations" name="drp_Books_Ill_Illustrations" multiple=""> <option value=" ">No illustrations</option> <option value="a" selected>Illustrations</option> <option value="b">Maps</option> <option value="c" selected>selectedPortraits</option> </select> </div> <div class="divright"> <select id="drp_Books_Ill_Illustrations1" class=" Books_Illustrations" name="drp_Books_Ill_Illustrations" multiple=""> <option value=" ">No illustrations</option> <option value="a">Illustrations</option> <option value="b">Maps</option> <option value="c">selectedPortraits</option> </select> </div> <button class="getValue">Get Value</button> <button class="setValue"> Set value </button> <div class="divright"> <select id="drp_Books_Ill_Illustrations2" class="leaderMultiSelctdropdown Books_Illustrations" name="drp_Books_Ill_Illustrations" multiple=""> <option value=" ">No illustrations</option> <option value="a" selected>Illustrations</option> <option value="b">Maps</option> <option value="c" selected>selectedPortraits</option> </select> </div> <div class="divright"> <select id="drp_Books_Ill_Illustrations3" class=" Books_Illustrations" name="drp_Books_Ill_Illustrations" multiple=""> <option value=" ">No illustrations</option> <option value="a">Illustrations</option> <option value="b">Maps</option> <option value="c">selectedPortraits</option> </select> </div> <button class="getValue1">Get Value</button> <button class="setValue1"> Set value </button> 

剧本:

  var selectedValues = new Array(); selectedValues[0] = "a"; selectedValues[1] = "c"; $(".getValue").click(function() { alert($(".leaderMultiSelctdropdown").val()); }); $(".setValue").click(function() { $(".Books_Illustrations").val(selectedValues); }); $('#drp_Books_Ill_Illustrations2, #drp_Books_Ill_Illustrations3').select2(); $(".getValue1").click(function() { alert($(".leaderMultiSelctdropdown").val()); }); $(".setValue1").click(function() { //You need a id for set values $.each($(".Books_Illustrations"), function(){ $(this).select2('val', selectedValues); }); }); 

所以我把它想要2个选项默认选中,然后获取它的值? 如果是这样:

http://jsfiddle.net/NdQbw/1/

 <div class="divright"> <select id="drp_Books_Ill_Illustrations" class="leaderMultiSelctdropdown Books_Illustrations" name="drp_Books_Ill_Illustrations" multiple=""> <option value=" ">No illustrations</option> <option value="a" selected>Illustrations</option> <option value="b">Maps</option> <option value="c" selected>selectedPortraits</option> </select> </div> 

并获得价值:

 alert($(".leaderMultiSelctdropdown").val()); 

要设置值:

  $(".leaderMultiSelctdropdown").val(["a", "c"]); 

您也可以使用数组来设置值:

 var selectedValues = new Array(); selectedValues[0] = "a"; selectedValues[1] = "c"; $(".Books_Illustrations").val(selectedValues); 

http://jsfiddle.net/NdQbw/4/

只要看看这个会有所帮助。

 var valoresArea=VALUES // it has the multiple values to set, separated by comma var arrayArea = valoresArea.split(','); $('#area').val(arrayArea); 

该URL是链接

您可以将所选值添加到array ,并将其设置为默认select的值

例如:

 var selectedItems =[]; selectedItems.push("your selected items"); .. $('#drp_Books_Ill_Illustrations').select2('val',selectedItems ); 

试试这个,这个绝对应该可以!

 var valoresArea=VALUES // it has the multiple values to set separated by comma var arrayArea = valoresArea.split(','); $('#area').select2('val',arrayArea); 
 This is with reference to the original question $('select').val(['a','c']); $('select').trigger('change'); 

不需要做太多的事情 使用多个select2的设定值var selectedvalue =“1,2,3”; //如果select前3个产品 $( '#ddlProduct')VAL(的SelectedValue)。

使用select2库有两种方式来设置值1.当单值存在时,您可以将其作为string传递

 $("#elementid").select2.("val","valueTobeset") 

2.当你使用select2和multiselect选项时,你可以将一个数组的值传给select2,所有这些值都将被设置

 var arrayOfValues = ["a","c"] $("#elementid").select2.("val",arrayOfValues) 

请记住,您可以通过传递一个数组来像这样设置多选的单个值

 var arrayOfValues = ["a"] $("#elementid").select2.("val",arrayOfValues) 

这不起作用。 ('#searchproject').select2('val', ['New Co-location','Expansion']);只有一个值是预选的,即使这两个选项在列表中只有第一个显示('#searchproject').select2('val', ['New Co-location','Expansion']);

使用select2 jQuery库:

 $('#selector').val(arrayOfValues).trigger('change') 

使用多选function如下。

 $('#drp_Books_Ill_Illustrations').multiSelect('select', 'value');