-1

このデモでリスト オプションから選択した項目を動的に変更しようとしていますが、機能していません。

<select id="selItems" class="selectpicker">
    <option>Select From List</option>
    <option>Mustard</option>
    <option>Ketchup</option>
    <option>Relish</option>
</select>
<p>
<button id="setdefault" type="submit" class="btn">Set Default</button>

<script>
 $("#setdefault").on("click", function () {
   $("#selItems option:eq(2)").attr("selected", "selected");
 });
</script>

私が間違っていることを教えてください。

4

5 に答える 5

1

propの代わりに使用してみてくださいattr:

 $("#setdefault").on("click", function () {
   $("#selItems option:eq(2)").prop("selected", true);
 });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="selItems" class="selectpicker">
    <option>Select From List</option>
    <option>Mustard</option>
    <option>Ketchup</option>
    <option>Relish</option>
</select>
<p>
<button id="setdefault" type="submit" class="btn">Set Default</button>

于 2014-09-25T19:48:44.933 に答える
1

Bootstrap Select には、これを行う方法があります。ページに表示される要素は元の選択要素ではないため、手動で属性を操作するべきではありません。

$("#setdefault").on("click", function () {
    $("#selItems").selectpicker('val', 'Ketchup');
});

デモ

http://silviomoreto.github.io/bootstrap-select/#methods

于 2014-09-25T19:46:41.073 に答える
1

コードが期待どおりに機能しない理由はいくつかあります。

「デフォルトに設定」ボタンではなく、選択要素にクリックイベントを設定しています。

実際の select 要素は、使用している jquery プラグインに置き換えられているため、ページには表示されません。そのため、select の selected 属性を設定しても、ページには表示されません。

プラグインの使用方法については、そのプラグインのドキュメントを参照してください。

于 2014-09-25T19:47:20.300 に答える
0

切り替えてみる

$("#setdefault").on("click",function(){
 $("#selItems option:eq(3)").attr("selected", "selected");
});

$("#setdefault").on("click",function(){
 $("#setdefault option:eq(3)").attr("selected", "selected");
});
于 2014-09-25T19:44:28.747 に答える