我对如何做到这一点感到有点困惑……
我有一个包含一系列行的表,并且在每个单元格中都有某些表单元素.我试图从最后一行的“代码”输入字段中获取值,并且我的语法有问题…
简化表如下所示:
而且,这是不起作用的jquery ……
if($('#cont')) {
$("#cont').live('click',function(event) {
var tr = $('#wr-viewcarttable tr:last');
var itemcode = $(tr > 'input[name="code"]').val();
window.location = "/search?p="+itemcode;
});
}
最佳答案
试试这个:
$('table#table1 tr:last input[name=code]').val();
或者,根据您的代码调整:
$('#cont').live('click',function(event) {
var tr = $('#wr-viewcarttable tr:last');
var itemcode = tr.find('input[name=code]').val();
window.location = "/search?p="+itemcode;
});
您的代码中有两个错误,$(“#cont”)部分中的引号不匹配,输入搜索错误.您现在拥有的是:
$(tr > 'input[name="code"]').val();
作为>是外部引号,它不是字符串,而是比较运算符,现在将tr与’input [name =“code”]’进行比较.比较运算符总是返回布尔值(true或false),因此您实际上是这样做的:
$(true).val();
哪个没有多大意义.如果你有一个jQuery对象,你可以使用find方法查找该对象的任何子对象,或者将该元素作为上下文传递给$()函数.所以这两个将起作用并且是平等的:
tr.find('input[name=code]').val();
$('input[name=code]',tr).val();
在你的情况下,实际上没有理由将tr保存到它自己的变量中,因为你可以在一个声明中获得值,如上所示.
猜你在找的jQuery相关文章