3

ページの読み込み時に複数の値を選択しようとしていますが、配列の最後の値のみが選択されます。コードを見てみましょう

jQuery("#language").chosen();
var str = '12,24,36';
var languageArray = str.split(',');
 for (var i = 0; i < languageArray.length; i++) {
     jQuery("#language").val(languageArray[i]);
     jQuery("#language").trigger("liszt:updated");
 }

ページの読み込み時に 36 個しか選択されていません。js に何か問題がありますか?

選択用のHTMLは次のとおりです

<select name="language[]" id="language" data-placeholder="Choose Language..."  multiple="multiple">

私はあなたの助けに感謝します。

ありがとう

4

2 に答える 2

9

メソッドに配列を渡すことにより、複数値の選択ボックスで複数のオプションを選択できますval()

マークアップ

<select name="language" id="language" data-placeholder="Choose Language..."  multiple="multiple">
    <option value="en">English</option>
    <option value="fr">French</option>
    <option value="de">German</option>
</select>

JavaScript

var str = 'en,de';
jQuery("#language").val(str.split(','));

ファンシー用のjsFiddleを次に示します。

于 2013-10-22T14:15:46.153 に答える
1

selected一致したオプション要素のプロパティを設定できます。それが役立つことを願っています。

var values = ['1', '2', '4'];
$('#languages').find('option').filter(function (idx, option) {
    if($.inArray(option.value, values) !== -1) {
        return option;
    }
}).prop('selected', 'true');
于 2013-10-22T14:11:50.507 に答える