簡體   English   中英

單擊表格中的按鈕后從上一行獲取文本

[英]Get text from previous row after clicking button in table

我已經看到很多類似問題的答案,但沒有一個有效,我不知道該怎么做。

我有一個動態附加行的表。 一些行有class="idRow"

我點擊一個向下幾行的按鈕后,我需要獲取該行的文本值(每次都是一個不同的位置,但總是低於idRow ,每次按鈕都位於不同的行中,我不知道哪個行單擊按鈕時我需要的行,只是最靠近它的那個按鈕)

我知道該行已追加並具有文本值。 我的問題是通過單擊按鈕獲得它。

我嘗試過很多選擇

 alert($(".comnowBtn").parent().closest('tr').prev("#idRow").text());

我嘗試添加"parent()" ,刪除它, prevclosest$("this")而不是$(".comnowBtn") ,它們都是空的。

在其中一個迭代中,我設法獲得行內容,但是當我解決整個表並且剛剛獲得所有idRow行時。

請幫忙! 謝謝!

*我第一次沒有很好地解釋自己,我編輯了這個問題。 謝謝!

編輯:對於每個人都想知道我做了什么 - 我無法得到“最接近”的“上一個”工作,所以我在按鈕行后添加了idRow(以便idRow始終位於按鈕下方)並使用 -

alert(   $(this).parents("tr").next(".idRow").text());

它有效,但這是一個解決方法...所以如果有人知道為什么“最接近”或“上一個”不起作用,我會很高興聽到它。 謝謝!

標識符id在同一文檔中應該是唯一的,因此請嘗試用通用類替換所有重復的ID,請檢查示例下面的示例。

希望這可以幫助。


 $('body').on('click', '.comnowBtn', function(){ alert( $(this).closest('tr').prev('.idRow').text() ); }) 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <table border=1> <tr class='idRow'><td>idRow row text 1</td></tr> <tr><td><button class='comnowBtn'>comnowBtn 1</button></td></tr> <tr class='idRow'><td>idRow row text 2</td></tr> <tr><td><button class='comnowBtn'>comnowBtn 2</button></td></tr> </table> 


如果你有像idRow1idRow2這樣的唯一ID ...你可以使用屬性選擇器和符號^

$(this).closest('tr').prev("tr[id^='idRow']").text();

 $('body').on('click', '.comnowBtn', function(){ alert( $(this).closest('tr').prev("tr[id^='idRow']").text() ); }) 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <table border=1> <tr id='idRow2'><td>idRow row text 1</td></tr> <tr><td><button class='comnowBtn'>comnowBtn 1</button></td></tr> <tr><td>Some extra rows</td></tr> <tr><td>Some extra rows</td></tr> <tr id='idRow2'><td>idRow row text 2</td></tr> <tr><td><button class='comnowBtn'>comnowBtn 2</button></td></tr> </table> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM