[英]Get rowindex of gridview on click of a button outside gridview
[英]get rowIndex a button in a tablerow
我嘗試獲取表格中按鈕的 rowIndex? 沒有什么對我有用:
let tr = $('<tr class="tableRow"></tr>');
let td = $('<td class="noWrap"></td>');
let btn = $('<button type="button" class="btn btnEdit"></button>');
td.html(btn);
tr.html(td);
$('#table1 > tbody:last-child').append(tr);
$('.btnEditMenge').on('click', ()=>{
$(function(){
let rowindex = $(this).clostest('tr').rowIndex // undefined
let c = $(this).closest('.tableRow'); // Array[0]
let b = $(this).parent(); // Array[0]
});
});
onClick Listener 中的注釋是,當我單擊按鈕時。
在您的代碼中進行一些重構:
let tr = $('<tr class="tableRow"></tr>');
let td = $('<td class="noWrap"></td>');
let btn = $('<button type="button" class="btn btnEdit"></button>');
btn.appendTo(td);
td.appendTo(tr);
tr.appendTo($('#table1 > tbody:last-child'));
// Or:
// btn.appendTo(td.appendTo(tr.appendTo($('#table1 > tbody:last-child'))));
$('.btnEditMenge').on('click', function() {
let $btn = $(this);
let rowindex = $btn.closest('tr').index();
let $tableRow = $btn.closest('.tableRow');
let $parent = $btn.parent();
});
appendTo()
(或append()
、 before()
等等...)而不是html()
;index()
獲取任何元素的索引;this
可能不是您所期望的;$(function() { })
不是為了那個目的,它用於在document.ready
事件中綁定一個事件。 它不應該在另一個事件中使用;b
或c
類的名稱。就是這一行:
$('.btnEditMenge').on('click', ()=>{
它有效,當我將其更改為
$('.btnEditMenge').on('click', function(){
我一直以為是一樣的。。。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.