如何从html表单数组元素创建javascript数组

时间:2015-02-10 04:59:32

标签: javascript php jquery arrays

这是我的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将它们传递给控制器​​。我想将更新的值保存到数据库。请任何人有任何想法,然后告诉我。

1 个答案:

答案 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},
        ...