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

时间:2010-03-17 06:18:57

标签: jquery jquery-ui button modal-dialog

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

我有一个包含项目列表的页面。每个项目都有相同的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>

这是js Part:

    $('#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');
                }
        );

    });

我正在使用jquery 1.4.2和jquery ui 1.8rc3 有什么想法吗?

3 个答案:

答案 0 :(得分:9)

  

这些按钮都具有相同的ID

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

答案 1 :(得分:2)

文档不良操作中不是重复的ID吗?

答案 2 :(得分:0)

当您放置按钮元素

时,这将有效

in html:

<input type="button" value="MyButton1" /> 
<input type="button" value="MyButton2" />
...
<input type="button" value="MyButtonN" />
在jquery-ui的javascript中

search for: $("#button").button(); 
then replace or add    $('[type="button"]').button();"

$("#button").button();
$('[type="button"]').button();