我需要获得此按钮的值(417762)。我试图这样做,但它不起作用(参见下面的else子句)。我一直都是“未定义”。
$('#migrationssearchtable tbody').on('click',
'td.details-control',
function() {
var tr = $(this).closest('tr');
var row = table.row(tr);
if (row.child.isShown()) {
row.child.hide();
tr.removeClass('shown');
}
else {
var v = tr.find(".details-control"); // this finds the HTML of the TD
var o = v.find(".btn btn-requeue"); // this does not work, gives undefined.
}
}
);
答案 0 :(得分:2)
替换
var o = v.find(".btn btn-requeue");
使用
var o = v.find(".btn.btn-requeue");
你可以检查小提琴
答案 1 :(得分:1)
您正在寻找v.find(".btn btn-requeue");
。请注意btn-requeue
前面没有句号。这意味着jQuery将在btn-requeue
类的元素中查找带有btn
标记的元素。
正确的方式是.btn.btn-requeue
,或.btn-requeue
。
我在下面的代码中将其更改为v.find(".btn.btn-requeue");
,这似乎可以解决问题。
$(function(){
$('#migrationssearchtable tbody').on('click', 'td.details-control',function() {
var tr = $(this).closest('tr');
var v = tr.find(".details-control"); // this finds the HTML of the TD
var o = v.find(".btn.btn-requeue");
alert('the value is: '+o.val());
});
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="migrationssearchtable">
<tbody>
<tr>
<td class="details-control">
<button class="btn btn-requeue" value="417762">
++
</button>
</td>
</tr>
</tbody>
</table>