将关联的 ID 添加到 for 循环中的复选框

Getting assosiated ids to checkboxes in for loop

本文关键字:循环 for 复选框 添加 关联 ID      更新时间:2023-09-26

我有以下代码:

foreach($redeemSales as $sale) { ?>
     <tr  value='<?php echo $sale['id']; ?>'>
          <td><?php echo $sale["submissionId"];?></td>
          <td><?php echo $sale["ring"];?></td>
          <td><?php echo formatFullDate($sale["soldDate"]) ?></td>
          <td><?php echo $sale["saleType"]; ?></td>
          <td>   
          <div class="col-lg-8">
               <select name="claimTypes[]" class="form-control redeemOptions">
                    <option value="">Choose Gift</option>
                    <option value="CD">Credit (CD)</option>
                    <option value="Amex">American Express Card (Amex)</option>
               </select>
          </div>
      </td>
 </tr>
 <?php }?>

我正在使用代码获得所有claimTypes

 var cclaim = $('select[name="claimTypes[]"]').serialize();

问题是,我不确定,因为它是一个 for 循环,我无法弄清楚哪个选择的选项是哪个saleId.

如何获取除第一个选项以外的所有选定claimTypes的关联saleId

这个怎么样:

....
<select name="claimTypes[]" class="redeemOptions" data-id="<?php echo @sale['id']; ?>">
...
$('select.redeemOptions').filter(function(){ 
   return $(this).val() != "";
 }).each(function() {
   var saleId = $(this).data("id");
   var selectedRedeemValue = $(this).val();
   console.log(saleId + ": " + selectedRedeemValue);
});

你可能想做这样的事情:

<select name="claimTypes_<?php echo @sale['id']; ?>" class="form-control redeemOptions">
...
var cclaim = $('select[name^="claimTypes"]').serialize();

虽然不清楚为什么你会在同一形式中有多个(相同)选择。