我试图得到一个表的行使用jquery最接近的方法如下
function GetPackageSizeDescription() {
var row = $(this).closest('tr');
.....
//ajax call
data: { packageId: $(row).find('.packageId').val()}
}
,但在jquery执行这行代码var row = $(this).closest('tr');
之后,浏览器开发工具中出现了以下行,我无法获得该行元素的值。row = [prevObject: jQuery.fn.jQuery.init[1], context: undefined]
任何想法?
按钮元素表格单元格看起来像
<td><button type="button" class="btn btn-sm btn-primary" onclick="GetPackageSizeDescription(); return false;">
<span class="glyphicon glyphicon-info-sign"></span>
</button>
</td>
需要将this
作为参数发送给函数。
更改为:
function GetPackageSizeDescription(element) {
var row = $(element).closest('tr');
和当你调用GetPackageSizeDescription
做:
GetPackageSizeDescription(this)
或者你可以这样重构你的代码…
HTML<td><button id="getpackagesize-btn" type="button" class="btn btn-sm btn-primary">
<span class="glyphicon glyphicon-info-sign"></span>
</button>
</td>
JQUERY $('#getpackagesize-btn').on('click', function() {
var row = $(this).closest('tr');
...
//ajax call
data: { packageId: $(row).find('.packageId').val()}
return false;
});