所以我在 html 表中添加了一行。我在行中有一个复选框,因此我需要增加要添加的输入的数组键,以便检查复选框是否已设置。这是html
<tr>
<td><img src="/pics/deleteRow.png" class="delete"> </td>
<td class="productColumn">
<select name="productInputName[<?php echo $rowNum; ?>]" class="productSelect" >
<option></option>
<?php
foreach($productList as $product){
//Get options
}
?>
</select>
</td>
<td><input class="quantityField" name="quantity[<?php echo $rowNum; ?>]"type="number" <?php echo ' value="',$detail->getQuantity(),'"'; ?>></td>
<td><input class="quantityReturnedField" name="quantityReturned[<?php echo $rowNum; ?>]" type="number" <?php echo ' value="',$detail->getQuantityReturned(),'"'; ?>></td>
<td> <input class="priceField" name="price[<?php echo $rowNum; ?>]" type="number" step="any"
<?php echo ' value="', $detail->getPrice(), '"'; ?>></td>
<td ><input class="subtotalField" type="number" step="any" readonly="readonly"></td>
<td ><input class="specialOrder" type="checkbox" name="specialOrder[<?php echo $rowNum; ?>]" <?php if($detail->getSpecialOrder()){ echo 'checked="checked"';} ?>>Special Order</td>
</tr>
这是 jQuery
var rowNum = 300;
$('.productSelect').change(function() {
insertBlankRow(1);
});
function insertBlankRow(numRows){
for(i=0;i < numRows; i++){
$('#orderTable tbody>tr:last').clone(true).insertAfter('#orderTable tbody>tr:last').end()
.find("input[type=checkbox]").attr('name', "specialOrder[" +rowNum + "]").end()
.find(".productSelect").val("").attr('name', "productInputName[" +rowNum + "]").end()
.find(".quantityField").val("").attr('name', "quantity["+rowNum+"]");
rowNum++;
}
return false;
}
我已经复习了这个和这个,在我看来它应该可以工作,但实际上它只是从最后一行复制索引号,除了我得到索引的 NaN 的特殊订单复选框。我已将 jQuery 中的名称更改为没有影响,因此它正确插入了行,但未能对名称属性进行任何更改。有什么我想念的想法吗?