我的表格中有以下按钮
<td><Button id="approval_<?php echo $i; ?>" type="submit" class="myclass btn success trr" ><span>Approve</span> </button>
</td>
<td><Button id="approval_<?php // echo $i; ?>" type="submit" class="smyclass btn failed trr" ><span>Deny</span> </button>
</td>
我需要做一个onclick动作
像这样的事情
$('.myclass').click(function() {}
问题是如何判断点击了哪个按钮?
答案 0 :(得分:1)
您可以检查按钮是否包含具有jQuery函数hasClass的类。
$('.myclass').click(function() {
if($(this).hasClass('success')){
alert("Success!");
}
});
关键字 this 将是您点击的按钮。您可以通过编写$(this)来使用jQuery包装它,这将允许您在其上使用大量方便的jQuery函数。
答案 1 :(得分:1)
在click函数中,您可以使用$(this)来引用执行操作的元素。
所以:
$('.myclass').click(function() {
$(this).doStuff();
});
快速注意 - 您将要缓存$(this)。这样,您可以根据需要多次引用它,但只会执行一次DOM查找。
如:
$('.myclass').click(function() {
var $this = $(this);
$this.doStuff();
$this.doMoreStuff();
});
答案 2 :(得分:0)
$('.myclass').click(function() {
// In here "this" refers to your element that was clicked.
// You can do whatever you want with it from here.
// If you want to use jQuery make sure to wrap it like $(this)
});
我建议看看jQuery Tutorials它会解释很多关于jQuery如何工作的方法,这将为你节省很多时间
答案 3 :(得分:0)
通过这种方式,您将能够获取索引并定义单击的“成功”或“失败”
$('.myclass').click(function() {
// Get the index
var index = $(this).attr('id').split('_')[1];
// Check success or failed
if ($(this).hasClass('success')) {
// success
} else {
// failed
}
});
答案 4 :(得分:0)
我预见到这个问题:
id="approval_<?php echo $i; ?>"
它发生两次,每个按钮一次。你不希望元素共享(以及其他)这个原因的id。将第二个按钮中的代码更改为:
id="denial_<?php echo $i; ?>"
然后在click
事件处理程序内部,您可以检查您的行为的ID:
$('.myclass').click(function() {
var action = this.id.split('_')[0];
var identifier = this.id.split('_')[1];
if (action == 'approval') {
if (identifier == 'abc123') {
alert('Why is the rum gone!?');
} else if (identifier == 'def456') {
alert('I have bath salts, wanna party?');
}
} else if (action == 'denial') {
alert('Fact: Picture messaging is for lovers!');
}
});