javascript - 计算一个静态输入字段和三个动态创建的输入 jQuery

标签 javascript jquery

我在 jQuery 中遇到了一个复杂的问题。我想在 jQuery 中计算一个静态输入字段和三个动态计算字段的值。

这是用 HTML 创建的输入法

 <input type="text" required name="prodeyo_3[]" class="form-control"/>
 <input type="text" id="somaponyJer" required name="somapony_jer[]"/>

我只想获取 id=somaponyJer 的值。然后我想获取 jQuery 动态创建的输入的值。

      $(document).ready(function () {

        $(".addrowMushok18").click(function () {

            var n = ($('.row_append tr').length - 0) + 1;


            var tr = '<tr>\
                        <td>' + n + '</td>\
                        <td><input type="date" required name="transection_date[]" class="form-control"></td>\
                        <td><input type="text" required name="transection_details[]" class="form-control" /></td>\
                        <td><input type="text" required name="purchase_sales_statement[]" class="form-control" /></td>\
                        <td><input type="date" required name="purchase_sales_date[]" class="form-control" /></td>\
                        <td><input type="text" required id="newTreasuryDeposit" name="treasury_deposit[]" class="form-control" /></td>\
                        <td><input type="text" required id="newReyat" name="reyat_2[]" class="form-control" /></td>\
                        <td><input type="text" required id="newProdeyo" name="prodeyo_3[]" class="form-control" /></td>\
                        <td><input type="text" required id="newSomaponyJer" required name="somapony_jer[]" class="form-control" value/></td>\
                        <td><input type="text" required name="remarks[]" class="form-control" /></td>\
                        <td align="center"><span class="remove_row"><i class="fa fa-trash-o fa-2x text-danger" data-toggle="tooltip" data-placement="left" title="Delete!" ></i></span></td>\
                    </tr>';

          $(".row_append").append(tr);
         }); 
});     

从这个动态创建的输入字段中,我想获取 id="newTreasuryDeposit"、 id="newReyat"id="newSomaponyJer"的值

然后计算它们并插入到由JQuery创建的id="newSomaponyJer"中。

请帮忙。

最佳答案

你可以做这样的事情。请注意,我添加了您发布的 html 中缺少的按钮和表格,因此请根据您的 html 进行更改。对于计算部分,我刚刚将插入的数字添加在一起,也可以根据您的需要进行更改。

点击add按钮生成tr,用提到的id填充字段,点击calculate按钮。结果将显示在 id = newSomaponyJer 的字段中。

function calculateValue() {
  const $sj = document.querySelector('#somaponyJer');
  const $ntd = document.querySelector('#newTreasuryDeposit');
  const $nr = document.querySelector('#newReyat');
  const $nsj = document.querySelector('#newSomaponyJer');

  //do some calculation e.g. sum them
  const result = Number($sj.value) + Number($ntd.value) + Number($nr.value);
  $nsj.value = result;
}

$(document).ready(function () {

  $(".addrowMushok18").click(function () {
    var n = ($('.row_append tr').length - 0) + 1;
      var tr = '<tr>\
        <td>' + n + '</td>\
        <td><input type="date" required name="transection_date[]" class="form-control"></td>\
        <td><input type="text" required name="transection_details[]" class="form-control" /></td>\
        <td><input type="text" required name="purchase_sales_statement[]" class="form-control" /></td>\
        <td><input type="date" required name="purchase_sales_date[]" class="form-control" /></td>\
        <td><input type="text" required id="newTreasuryDeposit" name="treasury_deposit[]" class="form-control" /></td>\
        <td><input type="text" required id="newReyat" name="reyat_2[]" class="form-control" /></td>\
        <td><input type="text" required id="newProdeyo" name="prodeyo_3[]" class="form-control" /></td>\
        <td><input type="text" required id="newSomaponyJer" required name="somapony_jer[]" class="form-control" value/></td>\
        <td><input type="text" required name="remarks[]" class="form-control" /></td>\
        <td align="center"><span class="remove_row"><i class="fa fa-trash-o fa-2x text-danger" data-toggle="tooltip" data-placement="left" title="Delete!" ></i></span></td>\
      </tr>';
    $(".row_append").append(tr);
  });

  $('.calculate').click(calculateValue);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" required name="prodeyo_3[]" class="form-control"/>
<input type="text" id="somaponyJer" required name="somapony_jer[]"/>
<button class="addrowMushok18">add</button>
<button class="calculate">calculate</button>
<table>
  <tr class="row_append"></tr>
<table>

关于javascript - 计算一个静态输入字段和三个动态创建的输入 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50501699/

相关文章:

javascript - 通过 onclick 选择创建名称列表

javascript - 如何使用 javascript 在输入中只允许 0 到 30 之间的数字或 A、D 字符?

javascript - 从文本中间捕获最后输入的单词

javascript - 函数执行完才再次调用函数

javascript - 单击时功能不起作用

javascript - 有没有一种方法可以使用 Javascript 或 jQuery 来启动 Chrome Find? (与 ctrl + f 相同)?

javascript - 获取类的每个后代元素的 ID

javascript - jQuery - 如何将两个选择列表组合成一个文本输入?

javascript - 以表格格式使用 ng-repeat

javascript - 通过函数动态选择运行哪个数组