Javascript JQuery-检查是否单击了每个动态添加的按钮
我通过jQueryAjax和PHP脚本将按钮添加到元素中。添加的按钮数量是可变的。我希望能够在启用另一个操作之前检查是否单击了每个按钮 PHP脚本中的相关代码如下所示,每个按钮都有一个递增的ID:Javascript JQuery-检查是否单击了每个动态添加的按钮,javascript,jquery,Javascript,Jquery,我通过jQueryAjax和PHP脚本将按钮添加到元素中。添加的按钮数量是可变的。我希望能够在启用另一个操作之前检查是否单击了每个按钮 PHP脚本中的相关代码如下所示,每个按钮都有一个递增的ID: $i = 1; while ($row = mysql_fetch_array($result)) { echo "<div class='dr_feedback_btn' id='dr_" . $i++ . "'>Feedback</div>"; } 下图显示了反馈按钮
$i = 1;
while ($row = mysql_fetch_array($result)) {
echo "<div class='dr_feedback_btn' id='dr_" . $i++ . "'>Feedback</div>";
}
下图显示了反馈按钮
感谢您的帮助。您可以在单击按钮时为每个按钮添加一个“clicked”
类,然后测试是否有任何按钮没有该类:
$('#dr_container').on('click', '.dr_feedback_btn', function() {
$(this).addClass('clicked');
if ($('.dr_feedback_btn').not('.clicked').length === 0) {
// all are clicked, so enable your other action here
}
// other click processing here
});
<> >“代码> > <代码>类当然可以被命名为任何你想要的,并且不需要存在于你的CSS中,尽管你可以考虑给用户一些已经被点击的视觉指示(你可以使用新的类来实现)。< /p> 点击时,可以向每个按钮添加一个<代码>“点击”< /代码>类。然后测试是否有任何按钮没有该类:
$('#dr_container').on('click', '.dr_feedback_btn', function() {
$(this).addClass('clicked');
if ($('.dr_feedback_btn').not('.clicked').length === 0) {
// all are clicked, so enable your other action here
}
// other click processing here
});
<> >“代码>”类当然可以被命名为任何你想要的,并且不需要存在于你的CSS中,尽管你可以考虑给用户一些已经被点击的视觉指示(你可以使用新的类来实现)。.您需要一种方法来存储之前是否单击过按钮的信息,然后在最后一次单击时,知道如何触发其他内容的显示。您可以用许多不同的方式存储这些数据。一种是使用jquery的数据属性:
$('#dr_container').on('click', '.dr_feedback_btn', function() {
$(this).data('clicked', true)
var buttons = $('.dr_feedback_btn')
var clickedButtons= buttons.filter(isClicked)
if (clickedButtons.length === buttons.length) {
// do your magic here
}
});
function isClicked(idx, el) {
return $(el).data('clicked') === true
}
您还可以更多地依赖选择器并使用html的实际数据属性:
$('#dr_container').on('click', '.dr_feedback_btn', function() {
$(this).attr('data-clicked', 'true')
var buttons = $('.dr_feedback_btn')
var clickedButtons= $('dr_feedback_btn[data-clicked=true]')
if (clickedButtons.length === buttons.length) {
// do your magic here
}
});
您需要一种方法来存储之前是否单击过按钮的信息,然后在最后一次单击时,知道如何触发其他内容的显示。您可以用许多不同的方式存储这些数据。一种是使用jquery的数据属性:
$('#dr_container').on('click', '.dr_feedback_btn', function() {
$(this).data('clicked', true)
var buttons = $('.dr_feedback_btn')
var clickedButtons= buttons.filter(isClicked)
if (clickedButtons.length === buttons.length) {
// do your magic here
}
});
function isClicked(idx, el) {
return $(el).data('clicked') === true
}
您还可以更多地依赖选择器并使用html的实际数据属性:
$('#dr_container').on('click', '.dr_feedback_btn', function() {
$(this).attr('data-clicked', 'true')
var buttons = $('.dr_feedback_btn')
var clickedButtons= $('dr_feedback_btn[data-clicked=true]')
if (clickedButtons.length === buttons.length) {
// do your magic here
}
});
我理解你们的问题,你们需要检查按钮是否被点击。如果单击,则启用事件。。但是“我想在启用另一个操作之前检查每个按钮是否已单击”这句话造成了混乱。你能更新问题的图像吗?我理解你的问题。你需要检查按钮是否已单击。如果单击,则启用事件。。但是“我想在启用另一个操作之前检查每个按钮是否已被点击”这句话造成了混乱。你能将图像更新到你的问题吗?nnnnnn,精彩而简单!非常感谢你的帮助!nnnnnn,聪明而简单!非常感谢你的帮助!