从 div 行内查找最接近的值

Find closest value from div inside row

我正在尝试从单击的行表单中的表单中查找值。我正在使用这个脚本。我能够从表单字段中获取值。但它给了我相同的值,如果单击任何行,它只会给我第一行的值。

我想在类名“.followupform”的行内点击 td link 打开表单 打开“.followupform”link(form) 后。我想通过单击当前行的“.updatefollowupstatus”从字段中获取值。

$(".updatefollowupstatus").click(function(e){ 
  var row = $(this).closest('td>.popover-content>form')
  var status= $(row).find(".fformstatus").val();
  var comment= $(row).find(".fformcomment").val();
  var ffid= $(row).find(".fformffid").val();
  alert(ffid);
});


    <td style="text-align:center">
                  <a href="#" class="followupform"><i class="fa fa-edit"></i></a>                           <div class="hide img-rounded popover-content">
                     <strong style="text-align:center">Update Followup Status</strong><span class="pull-right ffclose" style="cursor: pointer;"><i class="fa fa-close"></i></span>
                     <hr>
                      <form class="form-inline" role="form">
                        <div class="form-group">
                          <select class="form-control fformstatus" name="fformstatus">
                            <option value="0">Followups Status</option>
                            <option value="VM">VM</option>
                            <option value="Callback">Callback</option>
                            <option value="Rude">Rude</option>
                            <option value="Done">Done</option>
                          </select>         
                        </div>  
                        <div class="form-group">  
                          <textarea placeholder="Follow up Comment overview" class="form-control fformcomment"></textarea>
                          <input type="text" class="fformffid" hidden="" name="fformffid" value="15">
                        </div>        
                        <div class="form-group">  
                          <div class="btn btn-primary updatefollowupstatus">Update »</div>                                  
                        </div>
                      </form>
</div><!-- Form Content -->
                  </td>

我用尽了所有可能的方法。但我认为有一些错误或其他方法可以做到这一点。我的目标是更新当前行的反馈并通过 ajax 发送值以进行处理。

最好使用 .parents() 方法,因为表单是单击按钮的父元素。

试试下面的代码。

$(".updatefollowupstatus").click(function(e){ 
   var frm = $(this).parents('form');
   var status= $(frm).find(".fformstatus").val();
   var comment= $(frm).find(".fformcomment").val();
   var ffid= $(frm).find(".fformffid").val();
   alert(ffid);
});

您在 [closest()][1] 中的 .closest('td>.popover-content>form') 中使用了错误的选择器,只需使用 .closest('form')

$(".updatefollowupstatus").click(function(e) {
  var row = $(this).closest('form');
  var status = $(row).find(".fformstatus").val();
  var comment = $(row).find(".fformcomment").val();
  var ffid = $(row).find(".fformffid").val();
  alert(status + ',' + comment + ',' + ffid);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<table>
  <tr>
    <td style="text-align:center">
      <a href="#" class="followupform"><i class="fa fa-edit"></i></a>
      <div class="hide img-rounded popover-content">
        <strong style="text-align:center">Update Followup Status</strong><span class="pull-right ffclose" style="cursor: pointer;"><i class="fa fa-close"></i></span>
        <hr>
        <form class="form-inline" role="form">
          <div class="form-group">
            <select class="form-control fformstatus" name="fformstatus">
              <option value="0">Followups Status</option>
              <option value="VM">VM</option>
              <option value="Callback">Callback</option>
              <option value="Rude">Rude</option>
              <option value="Done">Done</option>
             </select>
          </div>
          <div class="form-group">
            <textarea placeholder="Follow up Comment overview" class="form-control fformcomment"></textarea>
            <input type="text" class="fformffid" hidden="" name="fformffid" value="15">
          </div>
          <div class="form-group">
            <div class="btn btn-primary updatefollowupstatus">Update »</div>
          </div>
        </form>
      </div>
      <!-- Form Content -->
    </td>
  </tr>
  <tr>
    <td style="text-align:center">
      <a href="#" class="followupform"><i class="fa fa-edit"></i></a>
      <div class="hide img-rounded popover-content">
        <strong style="text-align:center">Update Followup Status</strong><span class="pull-right ffclose" style="cursor: pointer;"><i class="fa fa-close"></i></span>
        <hr>
        <form class="form-inline" role="form">
          <div class="form-group">
            <select class="form-control fformstatus" name="fformstatus">
              <option value="0">Followups Status</option>
              <option value="VM">VM</option>
              <option value="Callback">Callback</option>
              <option value="Rude">Rude</option>
              <option value="Done">Done</option>
             </select>
          </div>
          <div class="form-group">
            <textarea placeholder="Follow up Comment overview" class="form-control fformcomment"></textarea>
            <input type="text" class="fformffid" hidden="" name="fformffid" value="16">
          </div>
          <div class="form-group">
            <div class="btn btn-primary updatefollowupstatus">Update »</div>
          </div>
        </form>
      </div>
      <!-- Form Content -->
    </td>
  </tr>
</table>