0

こんにちは、動的に生成されたいくつかのオプションをループする方法を見つけようとしています。次のようにしようとしました:

console.log($("select#subcategory option").length);
$("select#subcategory option").each(function () {

            console.log($(this).val() + "ceva");
            if ($(this).val() == subcategoryId) {
                console.log($(this).val());
                $(this).attr("selected", "selected");
            }
});

しかし、jQuery は生成された項目をまったく認識していないようです。私は jquery 1.5.1 を使用しています。

どうすればこの問題を解決できますか?

編集

これまでのところ、生成された要素を選択することができませんでした。これまでに試した方法から、作成されたダイナミルトである dom 要素をどちらも見ることができないことがわかります。 Firebug で確認してください。この問題は、ajax 呼び出しの後に作成している場合に発生しますか?

4

2 に答える 2

1

これで試してみてください:

$(document).find("select#subcategory option").each(function () {
    var subcategoryId = $('#subcategory').attr('id');
    console.log($(this).val() + "ceva");
    if ($(this).val() == subcategoryId) {
       console.log($(this).val());
       $(this).prop("selected", true);
    }
 });
于 2013-01-09T18:11:41.027 に答える
1

プレーンなバニラ JavaScript を使用できます。

   var select = document.getElementById('subcategory');
   for (var i=0; i<select.options.length; i++) {
       console.log(select.options[i]);
       if (select.options[i].value==subcategoryId) {
            select.selectedIndex = i;
            break;
       }
   }
于 2013-01-09T17:47:36.037 に答える