我正在使用在此处找到的easyconfirm对话框插件-http://www.projectshadowlight.org/jquery-easy-confirm-dialog/
我还使用经典的asp do while循环来打印其附加的内容,请参见下面的示例;
<% Do while not rs.EOF %>
<a href="#" id="yesno">This link</a>
<% rs.MoveNext()
Loop %>
您明白了。
我的Jquery完全是文档;
$("#yesno").easyconfirm({locale: { title: 'Are you sure?', button: ['No','Yes']}});
$("#yesno").click(function() {
alert("You clicked yes");
});
我遇到的问题是,对话框仅在循环中的第一个链接上工作,如果返回的结果大于1,则第一个工作,但其余部分不起作用,并且不引发任何错误,它仅添加{ {1}}到URL
任何帮助都会很棒:)
答案 0 :(得分:0)
这里的问题是,对于不同的链接,您具有相同的ID,您需要为其赋予不同的ID或为其提供类属性,例如:
<% Do while not rs.EOF %>
<a href="#" class="yesno">This link</a>
<% rs.MoveNext()
Loop %>
这将是您的新js,考虑到我们在选择器中添加了带有yesno类的“ a”元素。
$("a.yesno").easyconfirm({locale: { title: 'Are you sure?', button: ['No','Yes']}});
$("a.yesno").click(function() {
alert("You clicked yes");
});
答案 1 :(得分:0)
查看您的源代码,看来您是通过easyconfirm
id将#yesno
动作绑定到DOM元素。现在,由于您的列表可能包含多个元素,因此ID绑定仅对其中之一起作用,因为标识符应该是唯一的。
那么我的建议是使用CSS类选择器。
我会选择类似的东西:
<% Do while not rs.EOF %>
<a href="#" class="yesno">This link</a>
<% rs.MoveNext()
Loop %>
和
$(".yesno").easyconfirm({locale: { title: 'Are you sure?', button: ['No','Yes']}});
$(".yesno").click(function() {
alert("You clicked yes");
});
因此,基本上,这里的jQuery绑定将通过CSS类选择器进行。
答案 2 :(得分:0)
在您的DOM中,具有相同ID的元素不能超过一个。改用类
<a href="#" class="yesno">This link</a>
$(".yesno").each(function() {
$(this).easyconfirm({locale: { title: 'Are you sure?', button: ['No','Yes']}});
$(this).click(function() {
alert("You clicked yes");
});
});