我有一张桌子:
<table>
<thead>
<tr>
<td>some1</td>
......
<td>some2</td>
<th>count</th>
<th>EditCount</th>
</tr>
</thead>
<tbody>
<tr>
<td>some1</td>
......
<td>some2</td>
<td>25</td>
<td><input type='text' value='1'/></td>
</tr>
<tr>
<td>some1</td>
......
<td>some2</td>
<td>35</td>
<td><input type='text' value='3'/></td>
</tr>
如何从每行的输入中获取左侧的td值,例如当用户点击此输入时?
答案 0 :(得分:3)
(注意“左侧”我认为这意味着第一个td
,即最左边的那个)
试试这个:
$('input[type=text]' ).change(function() {
var firsttd = $('td:first', $(this).parents('tr'));
});
在jQuery中使用.change()方法(可以是focus
或blur
等)。使用选择器td:first
获取第一个td
并将上下文设置为当前对象(input') parent
tr`
要获取之前的td
(即使用值25
或35
,请使用:
$('input[type=text]' ).change(function() {
var prevtd = $(this).parent('td').prev('td');
});
答案 1 :(得分:0)
或......这样的事情
$('table input').click(function() {
$(this).parent().css('border','1px solid #f00');
});
虽然我会用类或其他东西来个性化所选择的,但这并不常见
答案 2 :(得分:0)
添加一个类让我们假设'value'到所有左侧tds然后在输入上添加另一个类 调用此函数
<script type = 'text/javascript'>
$('.button_class').click(function(){
var myvalue = $(this).parent().children().attr(value);
});
这将自动选择第一个孩子,或者你也可以使用它
var myvalue = $(this).parent().eq(0).attr(value);
答案 3 :(得分:0)
你习惯使用jQuery吗?如果是这样,那么你可以使用jQuery中的prev()函数来获取前一个兄弟(在这种情况下是前一个td)