0

同じクラス名を持つ 3 つの異なる選択リストがあります。各選択リストには、次の 2 つのオプションが含まれています。

<select class="select-tasks" multiple="multiple" name="SelectedTasks">
   <option>Option 1</option>
   <option>Option 2</option>
</select>    

ページの初期化時に、次のような新しいオプションを各選択リストの先頭に追加しています。

    $("#page").one("pageinit", function () {
         $(".select-tasks").prepend("<option>Choose an option</option>");

         $(".select-tasks").each(function (i, obj) {
              $(this).selectmenu("refresh", true);
         });
    });

Firebug でデバッグしているときに、3 つの選択リストすべてに新しいオプションが追加されていることを HTML で確認できますが、どの選択リストも更新されていないため、新しいオプションが表示されません。

私はJavaScriptで何か間違ったことをしていると思いますが、何がわかりません。ちなみにjQuery Mobileを使っています。

4

1 に答える 1

2

これを試して:

$("#page").one("pageinit", function () {

     $(".select-tasks").each(function (i, obj) {
          $(this).prepend("<option>Choose an option</option>")
                 .selectmenu("refresh", true);
     });
});
于 2013-03-13T13:04:25.640 に答える