我有这段代码,但是却没有定义elem
。还尝试了this
和$(this)
,但得到了文档。
我应该提到$('。listop')是一个jquery对象的数组(这就是为什么我使用每个对象)。在每个listop元素之前,它们是radioOption元素,而我需要每个元素,当人们单击“ listop”时,将选中“ radioOption”。
let inputs = $('.listop');
$(document).ready(function() {
inputs.each(function(int, elem) {
elem.click(function() {
elem.closest('.radioOption').prop('checked', true);
});
})
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<tr>
<td>
<input type="checkbox" class="radioOption" name="distribution[only]" value="6" data-id="lonly"></td>
<td> לנמען יחיד</td>
<td>
<div id="lonly" class="listop" style="display: inline;">
<input type="text" name="mobile">
答案 0 :(得分:2)
我想你是这个意思
注意,事件处理程序将对所有.listop输入起作用,并且仅选中同一行中的复选框
$(function() {
$(".listop input").on("click",function() {
$(this).closest("tr").find('.radioOption').prop('checked', true);
})
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
<tr>
<td>
<input type="checkbox" class="radioOption" name="distribution[only]" value="6" data-id="lonly"></td>
<td> לנמען יחיד</td>
<td>
<div id="lonly" class="listop" style="display: inline;">
Mobile: <input type="text" name="mobile">
</div>
</td>
</tr>
<tr>
<td>
<input type="checkbox" class="radioOption" name="distribution[only]" value="6" data-id="lonly"></td>
<td> לנמען יחיד</td>
<td>
<div id="lonly" class="listop" style="display: inline;">
Mobile: <input type="text" name="mobile">
</div>
</td>
</tr>
<tr>
<td>
<input type="checkbox" class="radioOption" name="distribution[only]" value="6" data-id="lonly"></td>
<td> לנמען יחיד</td>
<td>
<div id="lonly" class="listop" style="display: inline;">
Mobile: <input type="text" name="mobile">
</div>
</td>
</tr>
</table>