Как установить выбранное значение в Multi-Value Select в JQuery-Select2.?
Привет всем Я привязываю свое выпадающее меню с Jquery-Select2. Он работает отлично, но теперь мне нужно привязать мой Multi-Value selectBox с помощью Jquery-Select2.
My 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/ я использую поле выбора множественного значения, я могу привязать свой dropdwon с помощью
$("dropdownid").Select2()
работает нормально, но теперь мне нужно получить это выбранное значение в моем выпадающем меню в режиме редактирования. Поэтому я использую этот пример
$(".Books_Illustrations").select2("val", ["a", "c"]);
его работа, но как я могу исправить свой выбор, потому что пользователь может выбрать что-либо. Поэтому я не могу написать a, c статически, поэтому мне нужно связать мое выбранное значение в режиме редактирования динамически.
Я думаю, теперь вы все поняли с моим требованием. Пожалуйста, дайте мне знать, если вам потребуется дополнительное оформление.
Ответы
Ответ 1
Ну, на самом деле, вам нужна только $.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>
script:
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
Итак, я полагаю, что вы хотите, чтобы 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/
Ответ 3
var valoresArea=VALUES
// it has the multiple values to set separated by comma
var arrayArea = valoresArea.split(',');
$('#area').select2('val',arrayArea);
Ответ 4
Просто посмотрите на это, это поможет.
var valoresArea=VALUES // it has the multiple values to set, separated by comma
var arrayArea = valoresArea.split(',');
$('#area').val(arrayArea);
URL-адрес - ссылка
Ответ 5
вы можете добавить выбранные значения в array
и установить его как значение для выбора по умолчанию
например:
var selectedItems =[];
selectedItems.push("your selected items");
..
$('#drp_Books_Ill_Illustrations').select2('val',selectedItems );
Попробуйте это, это обязательно сработает!
Ответ 6
This is with reference to the original question
$('select').val(['a','c']);
$('select').trigger('change');
Ответ 7
Использование библиотеки select2 jquery:
$('#selector').val(arrayOfValues).trigger('change')
Ответ 8
Не нужно делать так много всего.
для заданного значения с использованием нескольких select2
var selectedvalue = "1,2,3";//если выбраны первые 3 продукта.
$ ( '# DdlProduct') Вал (SelectedValue).
Ответ 9
С помощью библиотеки select2 есть два способа установить значение
1. Когда присутствует одиночное значение, вы можете передать его как строку
$("#elementid").select2.("val","valueTobeset")
2. когда вы используете select2 с параметром multiselect, вы можете передать массив значений select2, и все эти значения будут установлены
var arrayOfValues = ["a","c"]
$("#elementid").select2.("val",arrayOfValues)
помните, что вы можете установить одно значение в multiselect, передав массив так же, как этот
var arrayOfValues = ["a"]
$("#elementid").select2.("val",arrayOfValues)
Ответ 10
Это не работает. только одно значение всегда выбирается, даже если оба варианта доступны в списке, только первый показан
('#searchproject').select2('val', ['New Co-location','Expansion']);
Ответ 11
Вот однолинейное простое решение.
EX: var ArrayValue = ["a","b","c"];
$("#select2id").select2("val",(ArrayValue).split(','));
Ответ 12
Используйте функцию мультиселектора, как показано ниже.
$('#drp_Books_Ill_Illustrations').multiSelect('select', 'value');