1

我有一个选择选项,它可以是任何数字的名称:prod_search[] 和 id:prod_search0、prod_search1、...2、..3 等等

检查下面的示例我有...

<select name="prod_search[]" id="prod_search0">
    <option value="o1">Option1</option>
    <option value="o2">Option2</option>
</select>

<select name="prod_search[]" id="prod_search1">
    <option value="o1">Option1</option>
    <option value="o2">Option2</option>
</select>

<select name="prod_search[]" id="prod_search2">
    <option value="o1">Option1</option>
    <option value="o2">Option2</option>
</select>

现在使用 jquery,我按名称循环上述所有选择选项...

$('select[name="prod_search[]"] option:selected').each(function(index) {       
    prod_search = $(this).val();
    prod_text   = $(this).text();

    //here i need ID of current select in the loop
    //...e.g.: prod_search0 or prod_search1 or ...
});

我尝试使用不显示实际 ID 但给出序列号的索引。如果删除元素 'prod_search1',它会失败。

需要一个正确的方法来接近。

4

2 回答 2

1

您的each()块在option标签的上下文中运行,因此要获取父级的 ID,select您只需上到父级:

$(this).parent().attr('id');
于 2012-08-06T12:23:36.180 回答
1

您正在迭代<option>s 并且您想要元素id<select>(它们的父级)。所以得到它$(this).parent().attr("id")

于 2012-08-06T12:23:50.777 回答