这是我的HTML代码
<table width="62%" height="70" border="1" cellpadding="0" cellspacing="0" id="edit">
<?php if(count($voucher_info) > 0 ){ ?>
<tr class="bgcolor_02">
<td width="27%" align="center" class="admin" >S.no</td>
<td width="37%" align="center" class="admin" >Voucher Type</td>
<td width="47%" align="center" class="admin" >Voucher Mode</td>
</tr>
<?php
$rownum = 1;
foreach($voucher_info as $eachrecord){
$zibracolor = ($rownum%2==0)?"even":"odd";
?>
<tr align="center" class="narmal">
<td height="25"><?php echo $eachrecord->voucher_id ; ?><input type="hidden" name="voucher_id[]" value="<?php echo $eachrecord->voucher_id; ?>" /></td>
<td><input name="vouchertype[]" type="text" value="<?php echo $eachrecord->voucher_type; ?>" id="vouchertype"/></td>
<td><select name="mode[]" >
<option value="paidin" <?php if($eachrecord->voucher_mode=='paidin'){ ?> selected="selected" <?php } ?>>Paid In</option>
<option value="paidout" <?php if($eachrecord->voucher_mode=='paidout'){ ?> selected="selected" <?php } ?>>Paid Out</option>
</select></td>
</tr>
<?php
}
}
else{
echo "<tr class='bgcolor_02'>";
echo "<td align='center'><strong>No records found</strong></td>";
echo "</tr>";
}
?>
</table>
<input id="update" type="submit" name="submit" value="Edit"/>
我只是想知道如何在javascript中访问vouchertype和mode并使用ajax将它们传递给控制器。我想将更新的值保存到数据库。请任何人有任何想法,然后告诉我。
答案 0 :(得分:0)
首先,您的HTML无效,因为每个元素ID在文档中必须是唯一的。如果不是,则不能使用该id来选择元素。
在此代码中删除id或为每行生成唯一ID。
<input name="vouchertype[]" type="text" value="<?php echo $eachrecord->voucher_type; ?>" id="vouchertype"/>
喜欢
<input name="vouchertype[]" type="text" value="<?php echo $eachrecord->voucher_type; ?>"/>
Select the fields by name并迭代集合以获取值。
function saveValues(){
var types = $('input[name="vouchertype[]"]'),
modes = $('select[name="mode[]"]'),
typeValues = [], modeValues = [];
types.each(function(el){
typeValues.push(el.val())})
modes.each(function(el){
modeValues.push(el.val() ? el.val()[0] : false)})
$.ajax(
data: {vouchertype: typeValues, mode: modeValues},
...