如何在多值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个选项默认选中,然后获取它的值? 如果是这样:
<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);
只要看看这个会有所帮助。
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');