按钮在循环中,单击仅触发第一个按钮
buttons in loop, click trigger only first button
我做了一个循环,我根据颜色的数量放了几个按钮,但不管我点击什么按钮,它显示我点击了第一个,按钮是唯一的,我设置了它们的id。
html - loop
<td> <div> Add 2nd color </div> </td>
<td style="min-width:121px;position:relative;">
'.$pop['pop3'].'
<div id= "'.$i.'" class="btn save_img"> Choose image </div>
js:
$('.save_img').click(function(){
onChooseImageClick();
});
function onChooseImageClick()
{
var rowId = $('.save_img').closest('tr').attr('row_id');
alert(rowId);
警报总是给我编号1,无论我点击什么按钮,任何点寻找问题?
您需要找到被单击的save_img
中最接近的tr
,因为您需要知道哪个是被单击的元素。点击处理程序中的this
指的是句柄所针对的元素(这里的save_img
元素),因此将其传递给onChooseImageClick
,然后使用该元素引用来查找tr
元素
$('.save_img').click(function () {
onChooseImageClick(this);
});
function onChooseImageClick(el) {
var rowId = $(el).closest('tr').attr('row_id');
alert(rowId);
}
$('.save_img').closest('tr')
将返回所有包含.save_img
元素的tr
元素,然后.attr('row_id')
将返回该集合中第一个元素的id
。
正如下面@John建议的,你也可以使用
$('.save_img').click(onChooseImageClick);
function onChooseImageClick(el) {
var rowId = $(this).closest('tr').attr('row_id');
alert(rowId);
}
相关文章:
- 而循环只设置php中输入字段中的第一个值
- 错误:$injector:modulerr模块错误(我的第一个SPA应用程序)
- 单击一次后禁用按钮-第2部分
- IE11中的第二个调用取消了第一个Fetch API调用
- Javascript XMLHttpRequest——只有第一个POST请求有效
- 按下一个HTML按钮,该按钮使用一个功能在同一个新窗口中打开URL
- 使用javascript或angularjs特定过滤器搜索字符串中第一个img标记的json值
- 将OnClick函数设置为<ul>,最后一个ul是擦除第一个ul-s
- RxJS油门行为;立即获取第一个值
- Angular UI网格:如何通过第一个UI网格中的按钮使第二个UI网格可见
- 选择多个实例中的第一个
- 我的设备后退按钮工作不正常,它转到第一个html,但返回到第二个html
- 数据表删除按钮在其他页面上不起作用,除了第一个
- 如何选择这些按钮中的第一个
- 第二个 JS 按钮触发第一个 JS 按钮
- 在表中第一个tr的倒数第二个td中选择按钮-使用jQuery选择器
- .after()当我点击这个按钮后,第二个,而不是第一个
- 如果选项卡是第一个,则禁用previous按钮
- 如果按下按钮,显示从json中获得的第一个X元素
- Javascript -如果没有选中单选按钮,选中第一个