我试图找到最接近的输入的值,之前限制为具有数据属性值的输入,但不知道问题在哪里
var $row = $(this).closest("tr");
var $closest_product = $row.prevAll('tr').first().find(":selected[data-producttype='Product']");
var $closerow = $closest_product.closest('tr');
var $cp_length = parseFloat($closerow.find('.length').val());
alert($cp_length);
上面的代码只能在结果位于前一行的前面找到值,但如果结果是2行或更多行,则永远不会返回结果。
答案 0 :(得分:0)
您是否已尝试更改
var $closest_product = $row.prevAll('tr').first().
find(":selected[data-producttype='Product']");
到
var $closest_product = $row.prevAll('tr').
find(":selected[data-producttype='Product']");
它看起来就像你选择了之前的所有tr,然后是第一个找到你正在寻找的tr而不是搜索所有tr。
不知道html只是一个猜测:也许最接近选择正确的tr
var $closest_product = $row.closest("tr:selected[data-producttype='Product']");