1

以下のドロップダウン選択から複数の値を事前に選択したい。この例では、「Abbey」と「Belgrave」を選択します

<select id="dropdown" multiple>
    <option value='Belgrave'>Belgrave</option>
    <option value='Abbey'>Abbey</option>
    <option value='Castle'>Castle</option>
</select> 

私はこれを手動で達成できますが、これは次のようにうまく機能します:

$('#dropdown').selectpicker('val', ['Abbey', 'Belgrave']);

問題は、配列を文字列で渡すことでは機能しないことです。

var wards = dsFilterOptions.Wards.split(",");
var strWard = "[";
for (i = 0; i < wards.length; i++) {
    strWard += "'" + wards[i] + "',";
}
strWard = strWard.slice(0, -1); //remove last comma
strWard += "]";
$('#dropdown').selectpicker('val', strWard);

上記では、修道院とベルグレイブの値が選択されていません。

4

2 に答える 2

6

JSON.parse文字列を配列に戻すために使用できます。

$('#dropdown').selectpicker('val', JSON.parse(strWard));

一重引用符を修正して編集します。

var wards = dsFilterOptions.Wards.split(",");
var strWard = '[';
for (i = 0; i < wards.length; i++) {
    strWard += '"' + wards[i] + '",';
}
strWard = strWard.slice(0, -1); //remove last comma
strWard += ']';
$('#dropdown').selectpicker('val', JSON.parse(strWard));
于 2014-08-26T16:45:59.453 に答える