未定义的输入foreach php到jquery

时间:2013-05-23 11:17:47

标签: jquery foreach undefined

我在输入中使用相同的名称循环 我希望用户禁用javascript,进程仍然会发生

<?php 
$first = 1;
$id = array('id' => 'addcart');
foreach($data['info'] as $row):
    $first++;
    echo form_open('store/addcart/',$id); ?>
    <td width="11%" align="center"> 
        <span style="font-weight:bold;"><A href="<?=base_url().'store/products/'.$row['pcode'];?>" class="linkleft"><?=$row['pname'];?></a></span>
        <BR><SPAN class=pdesc><A href="<?=base_url().'store/products/'.$row['pcode'];?>"> Xem Chi tiết</a></SPAN>
        <BR>Giá: <span><?=$row['pprice'];?></span>
        <input type="hidden" name="id" value="<?=$row['pcode'];?>"/>
        <input type="hidden" name="qty" value="1"/>
        <input type="hidden" name="price" value="<?=$row['pprice'];?>"/>
        <input type="hidden" name="name" value="<?=$row['pname'];?>"/>
        <BR><INPUT type="submit" id="submit"><div id="loading"></div>
    </TD>
    <?php
    echo form_close();
    if($first == 4) {
        echo "</tr><tr>";
    }
endforeach;
?>

我发送给jquery进行检查,但未定义

<script type="text/javascript">
$(document).ready(function() { 
    $("form#addcart").submit(function() { 
        // Get the product ID and the quantity   
        var id = $(this).find('input[name=id]').val();
        var qty = $(this).find('input[name=qty]').val();

        alert('ID:' + id + '\n\rQTY:' + qty);  

        return false;
    });  

});  
</script>

如何在foreach中选择发送一个项目?

1 个答案:

答案 0 :(得分:0)

forms

中创建for loop时,可能有多种表单

因此,对每个class应用form 使用

$id = array('id' => 'addcart','class'=>'addtocart');

并在jQuery中使用class namesubmit

<script type="text/javascript">
$(document).ready(function() { 
    $(document).on('submit',"form.addtocart",function(e) {//use class name in form
        e.preventDefault(); 
        // Get the product ID and the quantity   
        var id = $(this).find('input[name=id]').val();
        var qty = $(this).find('input[name=qty]').val();
        alert('ID:' + id + '\n\rQTY:' + qty);  
        return false;
    }); 
});  
</script>