多个具有相同ID的jQuery UI按钮

Mar*_*lan 0 jquery jquery-ui modal-dialog button

这个问题可能有一个非常简单的解决方案,但我只是看不到它!

我有一个包含项目列表的页面.每个项目都有相同的jquery ui按钮(在对话框中并将该项目添加到列表中).我通过持有DB id的父母DIV识别该项目.到现在为止还挺好...

问题只是列表中的第一个按钮有效!第二个,第三个等按钮根本不显示任何反应.这些按钮都具有相同的ID - 因为列表是动态的,每次点击都会触发相同的操作.只有父母身份证更改.

下面是显示部分:

<div id="2">
  <div id="56">
    <button id="add-audio-file" class="ui-button ui-state-default ui-corner-all">betty_2.mp3</button>
  </div>
</div>

<div id="2">
  <div id="57">
    <button id="add-audio-file" class="ui-button ui-state-default ui-corner-all">betty_3.mp3</button>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

这里是js部分:

    $('#add-audio-file').click(function() {
        assetID = $(this).parent('div').attr('id');
        pageID = $(this).parent('div').parent('div').attr('id');
        $.post(
            "modules/portfolio/serialize.php", 
            {id : pageID, assetid : assetID, do : "add-audio-file"},
                function(data, textStatus, xhr) {
                    $('#dialog-add-audio').dialog('close');
                }
        );

    });
Run Code Online (Sandbox Code Playgroud)

我正在使用jquery 1.4.2和jquery ui 1.8rc3任何想法?

Sar*_*raz 9

这些按钮都具有相同的ID

id是元素的标识符,您不能为多个元素设置该元素.尝试给出你的按钮,class然后看看它是否有效.