尝试获取前一个输入值(inputplaceholder=“已支付天数”)的值,并在单击复选框时填充最近的值(inputplaceholder=“已支付的天数”)。
任何帮助都将不胜感激。Thx :)
jQuery('.days-paid-copy').click(function() {
var copydays = jQuery(this).parent().prev('li').find('input[placeholder="Days Paid"]').val();
jQuery(this).prev('input[placeholder="Days Paid"]').val(copydays);
});<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li id="field_32">
<div class="container">
<input name="input_126" id="input_32_126" value="" placeholder="Days Paid" type="text">
</div>
</li>
<li id="field_33">
<div class="container">
<input name="input_127" id="input_33_127" value="" type="text">
</div>
</li>
<li id="field_34">
<div class="container">
<input name="input_128" id="input_34_128" value="" placeholder="Days Paid" type="text">
<input class="days-paid-copy" name="" value="" type="checkbox">
</div>
</li>
<li id="field_35">
<div class="container">
<input name="input_128" id="input_35_128" value="" type="text">
</div>
</li>
<li id="field_36">
<div class="container">
<input name="input_129" id="input_36_129" value="" placeholder="Days Paid" type="text">
<input class="days-paid-copy" name="" value="" type="checkbox">
</div>
</li>
发布于 2017-09-26 18:05:10
在进入.prev()之前,您在DOM层次结构上的提升还不够。.parent()是<div>,而不是<li>。
使用.closest("li")访问包含的列表项。
而之前的<li>中没有Days Paid输入。如果您想查找最近的前一个LIs,请使用.prevAll()获取所有以前的LIs,在其中找到Days Paid输入,然后得到其中的最后一个。
jQuery('.days-paid-copy').click(function() {
var copydays = jQuery(this).closest('li').prevAll('li').find('input[placeholder="Days Paid"]').last().val();
jQuery(this).prev('input[placeholder="Days Paid"]').val(copydays);
});<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li id="field_32">
<div class="container">
<input name="input_126" id="input_32_126" value="" placeholder="Days Paid" type="text">
</div>
</li>
<li id="field_33">
<div class="container">
<input name="input_127" id="input_33_127" value="" type="text">
</div>
</li>
<li id="field_34">
<div class="container">
<input name="input_128" id="input_34_128" value="" placeholder="Days Paid" type="text">
<input class="days-paid-copy" name="" value="" type="checkbox">
</div>
</li>
<li id="field_35">
<div class="container">
<input name="input_128" id="input_35_128" value="" type="text">
</div>
</li>
<li id="field_36">
<div class="container">
<input name="input_129" id="input_36_129" value="" placeholder="Days Paid" type="text">
<input class="days-paid-copy" name="" value="" type="checkbox">
</div>
</li>
https://stackoverflow.com/questions/46432984
复制相似问题