选择运行.each()函数的元素

时间:2019-03-13 13:27:34

标签: jquery

我有这段代码,但是却没有定义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">

1 个答案:

答案 0 :(得分:2)

我想你是这个意思

  1. 找到输入的父级
  2. 在该行中找到带有.radioOption类的复选框,并进行检查

注意,事件处理程序将对所有.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>