1

我有一个选项列表,其 id 有时可能是其中之一:

edit-panes-billing-billing-zone
edit-panes-billing-billing-zone--1
edit-panes-billing-billing-zone--2
edit-panes-billing-billing-zone--3
edit-panes-billing-billing-zone--4

一次只有一个选择元素。

是否可以使用 jQuery 动态选择选项列表?
这是我尝试过的,但它不起作用:

$("select[id^='edit-panes-billing-billing-zone--']").each(function() {
    alert('test'):              
}
4

4 回答 4

1

您的代码中有许多失败的语法错误:

alert('test'):  

应该

alert('test');  

alert('test'):              
}

应该

alert('test');              
});

最终结果应该是:

$("select[id^='edit-panes-billing-billing-zone--']").each(function() {
    alert('test');             
});

这在我运行的所有测试中都成功。

于 2013-02-18T05:27:47.557 回答
0

尝试

$(document).ready(function() {
    $('select option[id^="edit-panes-billing-billing-zone--"]').each(function(){
         alert($(this).text());
    });
});
于 2013-02-18T05:19:41.897 回答
0

为您拥有的每个选择提供属性类,例如

<select class="my-select" id="edit-panes-billing-billing-zone"></select>
<select class="my-select" id="edit-panes-billing-billing-zone--1"></select>
<select class="my-select" id="edit-panes-billing-billing-zone--2"></select>
<select class="my-select" id="edit-panes-billing-billing-zone--3"></select>
<select class="my-select" id="edit-panes-billing-billing-zone--4"></select>

然后代码是(按类获取元素):

$(document).ready(function() {
    $(".my-select").each(function() {
       alert('test');              
    });
});
于 2013-02-18T05:19:48.370 回答
0

你的问题不是很清楚I have an option list with an id

option list,我相信这些是一堆<select>标签。

$("select[id^='edit-panes-billing-billing-zone--']").change(function() {
    alert('test'):              
});

如果我们使用您的代码,那么您应该尝试这种方式:

$("select[id^='edit-panes-billing-billing-zone--']").each(function() {
    $(this).change(function(){
        alert('test');
    });              
});

笔记:

最后缺少您的代码});,并且您的警报以colon-> :not结尾semicolon ';'

而是.each()尝试.change()事件。

于 2013-02-18T05:26:51.047 回答