Подтвердить что ты не робот

Как установить выбранное значение в 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 статически, поэтому мне нужно связать мое выбранное значение в режиме редактирования динамически.

Я думаю, теперь вы все поняли с моим требованием. Пожалуйста, дайте мне знать, если вам потребуется дополнительное оформление.

4b9b3361

Ответ 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');