【问题标题】:how to push input text value to checkbox value in jquery如何将输入文本值推送到jquery中的复选框值
【发布时间】:2020-05-03 09:53:27
【问题描述】:

查看表格

<table>
<thead>
    <tr>
        <th class="text-center"><input type="checkbox" checked="checked" class="checkAll"  name="checkAll" /></th>
        <th>#</th>
        <th>Beneficiary Name</th>
        <th class="text-right box">Bonus ₹</th>
        <th class="text-right">Stipendiary ₹</th>
    </tr>
</thead>
<tbody>
    <tr>
        <td>
            <input type="checkbox" id="bene_id" checked="checked" class="chkclass" name="bene_id[]" value="" />
        </td>
        <td>1</td>
        <td>Chellammal Kochimoni</td>
        <td><input type="text" id="bonus_temp" name="bonus_temp[]" value="" /></td>
        <td>400</td>
    </tr>
    <tr>
        <td>
            <input type="checkbox" id="bene_id" checked="checked" class="chkclass" name="bene_id[]" value="" />
        </td>
        <td>2</td>
        <td>Christal Prema G.</td>
        <td><input type="text" id="bonus_temp" name="bonus_temp[]" value="" /></td>
        <td>400</td>
    </tr>
    <tr>
        <td>
            <input type="checkbox" id="bene_id" checked="checked" class="chkclass" name="bene_id[]" value="" />
        </td>
        <td>3</td>
        <td>Kamalesan T.</td>
        <td><input type="text" id="bonus_temp" name="bonus_temp[]" value="" /></td>
        <td>400</td>
    </tr>
    <tr>
        <td>
            <input type="checkbox" id="bene_id" checked="checked" class="chkclass" name="bene_id[]" value="" />
        </td>
        <td>4</td>
        <td>Palammal A.</td>
        <td><input type="text" id="bonus_temp" name="bonus_temp[]" value="" /></td>
        <td>400</td>
    </tr>
    <tr>
        <td>
            <input type="checkbox" id="bene_id" checked="checked" class="chkclass" name="bene_id[]" value="" />
        </td>
        <td>4</td>
        <td>Thangapazham</td>
        <td><input type="text" id="bonus_temp" name="bonus_temp[]" value="" /></td>
        <td>400</td>
    </tr>
</tbody>

jquery

   $("#bonus_temp").each(function() {
  $("#bonus_temp").keyup(function(){
    var bonus = $("#bonus_temp").val();
    $("#bene_id").val(bonus);
  });
});


我想将输入值(“#bonus_temp”)添加到复选框值(“#bene_id”)
现在我的查询只更新第一行。该行的其余部分不起作用。
我在这个项目中使用 codeigniter。我想发布表格的数据。我想将检查的值更新为 db。所以我尝试将输入值推送到复选框。

【问题讨论】:

  • 您多次使用 ID bene_id 和 bonus_temp,但 ID 必须是唯一的。您可以改为将它们更改为类。
  • 无法使用不同的 ID。此表 id 动态
  • 嘿@mathew,我了解您要实现的目标,但是如果文本框的值与复选框的值相同,那它不是多余的吗?你为什么不尝试给文本框的名称一个 id 呢?例如-&lt;input type="text" id="bonus_temp" name="bonus_temp['Your-unique-id-here']" value="" /&gt;,然后在你的控制器中获取值。
  • "不能使用不同的 id。这个表 id 是动态的" 什么?很确定你可以使用不同的ID,“即使”表格是动态的

标签: php jquery codeigniter


【解决方案1】:

如果您要将多个使用的 id 更改为具有有效 HTML 的类,您可以这样做:

   $(".bonus_temp").keyup(function() {
     var bonus = $(this).val();
     $(this).closest("tr").find("td .bene_id").val(bonus);
   });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
  <thead>
    <tr>
      <th class="text-center"><input type="checkbox" checked="checked" class="checkAll" name="checkAll" /></th>
      <th>#</th>
      <th>Beneficiary Name</th>
      <th class="text-right box">Bonus ₹</th>
      <th class="text-right">Stipendiary ₹</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>
        <input type="checkbox" checked="checked" class="chkclass bene_id" name="bene_id[]" value="" />
      </td>
      <td>1</td>
      <td>Chellammal Kochimoni</td>
      <td><input type="text" class="bonus_temp" name="bonus_temp[]" value="" /></td>
      <td>400</td>
    </tr>
    <tr>
      <td>
        <input type="checkbox" checked="checked" class="chkclass bene_id" name="bene_id[]" value="" />
      </td>
      <td>2</td>
      <td>Christal Prema G.</td>
      <td><input type="text" class="bonus_temp" name="bonus_temp[]" value="" /></td>
      <td>400</td>
    </tr>
    <tr>
      <td>
        <input type="checkbox" checked="checked" class="chkclass bene_id" name="bene_id[]" value="" />
      </td>
      <td>3</td>
      <td>Kamalesan T.</td>
      <td><input type="text" class="bonus_temp" name="bonus_temp[]" value="" /></td>
      <td>400</td>
    </tr>
    <tr>
      <td>
        <input type="checkbox" checked="checked" class="chkclass bene_id" name="bene_id[]" value="" />
      </td>
      <td>4</td>
      <td>Palammal A.</td>
      <td><input type="text" class="bonus_temp" name="bonus_temp[]" value="" /></td>
      <td>400</td>
    </tr>
    <tr>
      <td>
        <input type="checkbox" checked="checked" class="chkclass bene_id" name="bene_id[]" value="" />
      </td>
      <td>4</td>
      <td>Thangapazham</td>
      <td><input type="text" class="bonus_temp" name="bonus_temp[]" value="" /></td>
      <td>400</td>
    </tr>
  </tbody>
</table>

【讨论】:

  • @mathew 很高兴我能够提供一些支持 :)
【解决方案2】:

试试这个:

$('tbody tr  #bonus_temp').keyup( function(){
       var bonus = $(this).val();
       $("tbody tr #bene_id").val(bonus);
});

希望对你有帮助。

【讨论】:

  • 这不会解决问题,因为 OP 有多个元素具有相同的 id bene_id
  • 我必须在 @mathew 测试后看到它的实际效果。
  • 没看懂,可以吗,如果不行我们会努力解决的。
猜你喜欢
  • 2014-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-01
  • 2019-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多