65

ドロップダウンを にバインドしていJquery-Select2ます。selectBox 正常に動作していますが、今度はを使用して Multi-Value をバインドする必要があり Jquery-Select2ます。

私のドロップダウン

<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/ 私は複数値選択ボックスを使用しています。ドロップダウンをバインドできます

$("dropdownid").Select2()

正常に動作していますが、選択した値を編集モードのドロップダウンに取得する必要があるため、次の例を使用しています。

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

それは機能していますが、ユーザーは何でも選択できるため、どうすれば選択を修正できますか。そのため、a、c を静的に記述することはできないため、選択した値を編集モードで動的にバインドする必要があります。

これで、皆さんは私の要件を明確に理解したと思います。さらにクリアランスが必要な場合はお知らせください。

4

15 に答える 15

67

実際には、すべての値を取得するために必要なのは $.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);
    });
});
于 2012-10-24T15:10:10.347 に答える
22

それで、デフォルトで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/

于 2012-10-19T10:09:05.950 に答える
4

これを見るだけで役に立ちます。

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

URLはリンクです

于 2012-10-24T10:11:55.657 に答える
2

これはうまくいきません。両方のオプションがリストで使用可能であっても、1 つの値のみが事前に選択されます。最初の値のみが表示されます。 ('#searchproject').select2('val', ['New Co-location','Expansion']);

于 2016-09-26T17:42:58.403 に答える
0

そんなに多くのことをする必要はありません。複数の select2 var selectedvalue="1,2,3"; を使用した設定値の場合。//最初の 3 つの製品が選択された場合。$('#ddlProduct').val(selectedvalue);

于 2014-01-19T17:34:02.850 に答える
-5

以下のように複数選択機能を使用します。

$('#drp_Books_Ill_Illustrations').multiSelect('select', 'value');
于 2012-10-15T05:29:19.140 に答える