Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果页面上有多个按钮,Jquery对话框将不工作_Jquery_Jquery Ui_Jquery Ui Dialog - Fatal编程技术网

如果页面上有多个按钮,Jquery对话框将不工作

如果页面上有多个按钮,Jquery对话框将不工作,jquery,jquery-ui,jquery-ui-dialog,Jquery,Jquery Ui,Jquery Ui Dialog,我的网页上发生了一些奇怪的事情 我想在单击按钮时添加一个确认jquery对话框。问题是…我在页面上多次使用该按钮,每个按钮都有其id,并且是由php创建的,因此页面上可以有2,3,4,5个按钮 按钮如下所示: <a href="#" id="confirm" onclick="addlist(<?php echo $v['id'];?>);return false;"><img src="img/item_add.png" alt="add"

我的网页上发生了一些奇怪的事情

我想在单击按钮时添加一个确认jquery对话框。问题是…我在页面上多次使用该按钮,每个按钮都有其id,并且是由php创建的,因此页面上可以有2,3,4,5个按钮

按钮如下所示:

            <a href="#" id="confirm" onclick="addlist(<?php echo $v['id'];?>);return false;"><img src="img/item_add.png" alt="add" width="100" height="46" /></a>
问题是,我的jquery代码运行得很好,但只适用于第一个按钮、第二个按钮、第三个按钮……等等

这里有我的例子:

我想让对话框对每个按钮都起作用。 问题在哪里


提前谢谢你

这是因为所有按钮都具有相同的id。html中元素的id应该是唯一的

您可以让所有人都像我一样拥有相同的类

使用类或使用不同的id,如:

或使用类: 每个项目的id都应该是唯一的。。但您可以尝试使用on来逃避,尽管不推荐使用:

特定元素的id在整个页面上必须是唯一的。。。。 如果不是,则只处理第一个元素。。。。

解决方案: 为所有按钮指定一些类,而不是按类名指定进程id

e、 g:


对于元素和单击函数,您可以使用类而不是ID

<a class="confirm" href="javascript:;">Confirm 1</a>
<a class="confirm" href="javascript:;">Confirm 2</a>
...
$('.confirm').click(function() {
    $('#dialog').dialog('open');
    return false;
    });
});​

谢谢像魅力一样工作。这一点对你来说很重要,但公平地说,我会接受第一个发布解决方案的人的回答:谢谢!像魅力一样工作。你是第一个有这个想法的人,所以你是赢家。非常感谢你!谢谢正如你所说,我可以用类来代替id.Point,但公平地说,我会接受第一个发布解决方案的人的回答:在你的示例中工作,但不是在我的页面上:|奇怪。但是,更改类的id更容易、更好。无论如何,谢谢你;给你一分,谢谢!这就是解决办法:指向你!
$('#confirm1, #confirm2').click(function() {
    $('#dialog').dialog('open');
    return false;
    });
});
$(document).on('click','#confirm', function() {
    $('#dialog').dialog('open');
    return false;
    });
});​
<a class="temp" href="#" id="confirm" onclick="addlist(<?php echo $v['id'];?>);return false;">
    <img src="img/item_add.png" alt="add" width="100" height="46" />
</a>
$(document).ready( function(){

$('#dialog').dialog({
    autoOpen: false,
    width: 600,
    buttons: {
        "Ok": function() {
            $(this).dialog("close");
        },
    }
});

$('.temp').click(function() {
    $('#dialog').dialog('open');
    return false;
    });
});​
<a class="confirm" href="javascript:;">Confirm 1</a>
<a class="confirm" href="javascript:;">Confirm 2</a>
...
$('.confirm').click(function() {
    $('#dialog').dialog('open');
    return false;
    });
});​