![](/img/trans.png)
[英]How to trigger click on buttons coming from loop by onclick of a single button
[英]buttons in loop, click trigger only first button
我做了一個循環,根據我得到的顏色數量放了幾個按鈕,但是無論我單擊哪個按鈕,它都像我單擊第一個按鈕一樣,按鈕是唯一的,我將它們設置為id。
html-循環
<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
引用了handle所save_img
元素(此處的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);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.