.each只在第一个选择框上工作

Cur*_*tis -1 html jquery

基本上,当试图each在jQuery中使用该函数时,我遇到了一个我似乎无法通过的问题,

这是我试图使用的jQuery代码:

$('#status_update').each(function(index) {
        alert(this);
        $(this).on('change', function (e) {
            alert('changed');
        });
});
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的HTML代码:

<select name='status_update[]' class='input input-medium' id='status_update' data-id='1'>
    <option value='0' selected>Not Admitted</option>
    <option value='1'>Admitted</option>
</select>

<select name='status_update[]' class='input input-medium' id='status_update' data-id='1'>
    <option value='0' selected>Not Admitted</option>
    <option value='1'>Admitted</option>
</select>
<select name='status_update[]' class='input input-medium' id='status_update' data-id='1'>
    <option value='0' selected>Not Admitted</option>
    <option value='1'>Admitted</option>
</select>

etc....
Run Code Online (Sandbox Code Playgroud)

它适用于第一个,但之后它不会激活on.change()jQuery,导致它不处理.

Aru*_*hny 6

id在文档中应该是唯一的,您有多个具有相同ID的元素.

您可以为所有元素使用公共类,并使用类选择器而不是id选择器

$('.status_update').each(function(index) {
        alert(this);
        $(this).on('change', function (e) {
            alert('changed');
        });
});
Run Code Online (Sandbox Code Playgroud)