这个问题可能有一个非常简单的解决方案,但我只是看不到它!
我有一个包含项目列表的页面。每个项目都有相同的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 有什么想法吗?
答案 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();