如何获取行中前一个div的值?
echo '<div class="row">
<div class="col-md-3" style="padding-left: 0px; width: 80px; height: 4px;">
<input type="text" value="'.$item['SAP'].'" class="form-control input-sm">
</div>
<div class="col-md-4" style="padding-left: 0px; width: 330px;">
<input type="text" value="'.$item['Name'].'" class="form-control input-sm" style="width: 300px">
</div>
<div class="col-md-2" style="padding-left: 0px; width: 40px; height: 4px;">
<input type="text" class="form-control input-sm" id="'.$item['SAP'].'" value="0" style="width: 40px">
</div>
<div class="col-md-1" style="width: 40px; height: 4px;">
<button type="button" class="btn btn-default btn-xs">
<span class="AddQuantity glyphicon glyphicon-plus"></span>
</button>
</div>
</div>`enter code here`
我正在使用它:
$('.AddQuantity').on('click', function () {
var currentVal = $(this).closest('row').find('.form-control input-sm').val();
alert(currentVal);
});
});
但它不起作用
答案 0 :(得分:1)
要获取上一个,找到最近的DIV包装器,获取前一个DIV,然后找到输入:
$(this).closest('div').prev('div').find('.form-control.input-sm').val();
或所有人(加1)
$(this).closest('.row').find('.form-control.input-sm').val(function(_,v) {
return (+v) + 1;
});
答案 1 :(得分:0)
您在课程名称input-sm
和row
之前忘记了点。
另外,space
和.form-control
之间不需要.input-sm
,因为space
用于后代元素搜索
var currentVal = $(this).closest('.row').find('.form-control.input-sm').val();
答案 2 :(得分:0)
我不认为选择器不对。
$(this).closest(".row")...[etc]
应该有效
row
将查找名为row
的元素,而不是元素的类名。