用于填充数组并通过AJAX

时间:2016-09-23 12:01:29

标签: php jquery html ajax checkbox

标题应该更加具体,我知道,但问题太详细,甚至在一个标题中描述......我有麻烦将一定数量的值传递到一个数组中以通过AJAX发布。请注意,所有这些代码都是为了纯粹理解我想要做的事情。

这里是表格中带有foreach循环的HTML代码

<table class="table table-striped table-bordered table-hover">
  <thead>
    <th style="text-align: center;">Select</th>
    <th style="text-align: center;">Name</th>
    <th style="text-align: center;">Situation</th>
    <th style="text-align: center;">Bill</th>
    <th style="text-align: center;">Date Limit</th>
    <th style="text-align: center;">Value of Bill</th>
    <th style="text-align: center;">Own Value</th>
    <th style="text-align: center;">Responsable Name</th>
   </thead>
   <tbody>
   <?php
     foreach ($result as $value) {
        echo '<tr style="text-align: center;">
              <td><input style="cursor: pointer;" type="checkbox" value="'. $value['VALUEBILL'] .'" class="check_list"></input>
              <input style="display: none;" type="checkbox" checked="true" value="'. $value['IDTRANSACTION'] .'" name="numControle"></td>
              <td>'. utf8_encode($value['NAME']) .'</td>
              <td>'. $value['SITUATION'] .'</td>
              <td>'. $value['BILL'] .'</td>
              <td>'. $value['DATELIMIT'] .'</td>
              <td>'. $value['VALUEBILL'] .'</td>
              <td>'. $value['OWNVALUE'] .'</td>
              <td>'. utf8_encode($value['RESPONSABLENAME']) .'</td>
              </tr>';
     }

  ?>
  </tbody>
 </table>

为了更好地理解,我有一个jQuery脚本,它将汇总所有选中的账单并将所有账单的结果放在一起,并选中已检查的$value['VALUEBILL']复选框。

这是获取和汇总所有选中复选框值的jQuery脚本。

$(document).ready(function(){
   update();
});
$('input[type=checkbox]').click(function(){
   update();
})
function update(){
   var amount2 = 0;
   $('.check_list').each(function () {
      if (this.checked) {
        amount2 += Number($(this).val());
          checked_boxes ++;
      }
   $("input[name=amount]").val("$"+amount2.toFixed(2));
});

这是脚本汇总所有值并输入的形式:

<form name="sentMessage" id="purchases" novalidate>
  <h4 style="margin-top: -5px;">Total:</h4>
  <input type="text" class="form-control" id="amount2" name="amount" value="" disabled="">
  <button type="submit">Send Payment</button>
</form>

我指出代码可以更好地理解我正在做的事情,并让您了解主要问题是什么

问:那么,你需要什么,因为根本不清楚?

foreach循环中注意,它有一个checkbox,其值为$value['IDTRANSACTION'],这是我需要发送的另一个checkbox。 ..第一个checkbox具有帐单的价值,第二个是ID的交易,每个都有其独特的价值,而且非常考虑所有这些账单很重要。

所以我的问题是:

  • 如果选中第一个checkbox,我该如何选中此框? (我尝试了几个jQuery代码,但是当我检查第一个代码时,他们连续检查了所有代码,我只需要检查已检查的代码,而不是foreach提供的其他代码。 );

  • 在解决了第一个问题之后,我需要在array内填充一个form以发送一个AJAX帖子(已经准备好并且正常工作)以获取所有每个checkboxes的{​​{1}}值。

那就是......我很抱歉这个长期的问题,但是我需要提供所有的信息,以便你能够理解我想要做的事情。

干杯!

1 个答案:

答案 0 :(得分:1)

使用隐藏输入和以下js

<td><input style="cursor: pointer;" type="checkbox" value="'. $value['VALUEBILL'] .'" class="check_list"></input>
<input type="hidden" class="id_tansaction" value="'. $value['IDTRANSACTION'] .'" name="numControle"></td>

var data = {};
$('.check_list').change(function(){
 var id_tansaction = $(this).val('.id_tansaction').val();
 var valuebill = $(this).parent().find();
      if($(this).is(':checked')) {
         data[id_tansaction] = valuebill;
       } else {
         delete data[id_tansaction];
       }
});

然后通过ajax data:data

发送数据数组