0

jqueryを使用して動的に名前が付けられたselectの値を取得するにはどうすればよいですか?

次のように入力された選択がいくつかあります(正確な数はありません):

<?php
    for ($i = 0; $i < count($manifest); $i++)
        echo '<select id="headerColumn_' . $i . '">
            <option value="">-- Column Header --</option>
            <option value="1">Option 1</option>
            <option value="2">Option 2</option>
            <option value="3">Option 3</option>
            <option value="4">Option 4</option>
        </select>';
    ?>

後で、関数への onclick を含むボタンがあります。その関数が呼び出されると、作成された選択の数を渡します。ここで、すべての選択の値を取得する必要があります。私はこれを試しました:

for (var i = 0; i < valuePassedIntoFunction; i++)
{
    var thisValue = $("#headerColumn_" + i).val();
    alert("#headerColumn_" + i + " = " + thisValue);
}

しかし、ページを実行すると、次のようなポップアップが表示されます:

#headerColumn_1 = undefined

jqueryに動的命名規則を受け入れるようにするにはどうすればよいですか?

4

1 に答える 1

1

関数を使用し$.mapて、 ID が で始まるすべての要素を反復処理し、headerColumn_各要素の値を配列に返します。

var arr = $.map($('[id^="headerColumn_"]'), function(el, i) {return el.value; });

または、すべての ID と値を警告するには:

$('[id^="headerColumn_"]').each(function(i, el) {
    alert(el.id + ' = ' + el.value);
});
于 2013-05-14T21:39:50.810 に答える