0

如何使用 jquery 获取动态命名选择的值?

我有几个(没有确切数量)这样填充的选择:

<?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 回答