[英]How to get value when td clicked in table
我有一個HTML控件的表格,例如a
select
,等等。現在,當我點擊a
標簽我想span
價值first
td
我嘗試了這個:
$('tr > td a').on('click', function(e) { alert($(this).parent().find('td').eq(0).find('span').html()); });
table, tr, td, th { width: 750px; border: 1px solid black; border-collapse: collapse; align: centre } select, a { display: block; }
<table> <tr> <th>Name</th> <th>Clicks</th> <th>Clicks2</th> </tr> <tr> <td> <span id="span1">Hi!</span> <a href="#">Save</a> </td> <td style="block"> <a href="#" class="Click" id="click1">Click Me</a> <select> <option>1</option> </select> </td> <td> <a href="#" class="Click" id="click2">Click Me</a> <select> <option>2</option> </select> </td> </tr> </table> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
我試圖僅在單擊a
時顯示popup
窗口,但每次單擊td
時都會彈出。
所以我給了a
標簽類Click
,並試圖達到相同的,但不能。
如何顯示只有當彈出a
點擊
您的a
是display:block
因此它保持了td
的整個空間。 給您一個display:inline-block
。 這將使a
僅占用其所需的空間。 然后您的點擊處理程序將起作用。
您還可以在'a'標記內使用javascript函數onclick =“ functionname()”,然后在該函數中編寫彈出式代碼。
這段代碼
$('tr > td a').on("click"...
向a
添加一個點擊處理程序,然后其中的this
是a
,因此
$(this).parent()
給td
其次是
.find('td')
會嘗試在td
找到一個td
,但不會發生
要獲得第一個td
使用closest
td
,直到找到目標為止,即上升到父級,即:
$(this).closest('tr').find('td:first').find('span').html()
要么
$("td:first > span", $(this).closest('tr')).html()
(或.eq(0)
如果您不喜歡:first
)
您可以在第一列中為跨度分配一個類,例如myClass
,如下所示:
<table>
<tr>
<th>Name </th>
<th>Clicks</th>
<th>Clicks2</th>
</tr>
<tr>
<td>
<span class="myClass" id = "span1">Hi!</span>
<a href="#">Save</a>
</td>
<td style="block">
<a href="#" class="Click" id="click1">Click Me</a>
<select>
<option>1</option>
</select>
</td>
<td>
<a href="#" class="Click" id="click2">Click Me</a>
<select>
<option>2</option>
</select>
</td>
</tr>
</table>
,並像這樣使用jQuery:
$('td > a').on('click', function (e) {
alert($(this).parents('tr').find(".myClass").html());
});
看這里
只需從此更改您的腳本
$(function(){
$('tr > td a').on('click', function(e) {
alert($(this).parent().find('td').eq(0).find('span').html());
});
});
對此
$(function () {
$('tr > td a').on('click', function (e) {
alert($(this).parent().find('span').html());
});
});
這是一個jsFiddle: https ://jsfiddle.net/CanvasCode/hdzswrn7/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.