如何获取在jquery中动态创建的多个文本框值

时间:2013-08-23 12:47:31

标签: php jquery

如何获取在jquery

中动态创建的多个文本框值

示例代码:

<?php
$i=1;
while($i<10)
{
     echo "<input type='textbox' class='qty' id='qty_$id'>";
     echo "<input type='textbox' class='item' id='item_$id'>";
     $i++;
}
echo '<input class="btn_transaction" id="btn_update" type="button" style="width:auto" value="Update">';


?>

jquery

<script>
jQuery(document).ready(function(e){
  $("#btn_update").click(function() {
        $.each($('.qty'), function() {
        var qty =  $(this).val();
        alert(qty);  // im getting qty here. In the same way i want item also, how to get item value here
        jQuery.post('../ajax/ajax_cart.php',{section:'update_tocart',qty:qty},function(data){

        });             
     });

  });

});            
</script>

提前感谢:)

6 个答案:

答案 0 :(得分:3)

<强> DEMO

试试这个

$("#btn_update").click(function() {
        $(".qty").each(function() {
           var qty =  $(this).val();
           alert(qty);      
     });

  });

希望这有帮助,谢谢

答案 1 :(得分:0)

尝试.next()喜欢

var item = $(this).next('.item').val();

所以它会是

$('.qty').each(function() { // Or     $.each('.qty' , function() {
    var qty =  $(this).val();
    var item = $(this).next('.item').val();
 });

请参阅FIDDLEFIDDLE2

答案 2 :(得分:0)

jQuery(document).ready(function(e){
$("#btn_update").click(function() {
    var data = {};
    $( "input" ).each(function() {
        data[$(this).attr('id')] = $(this).val();
        jQuery.post('../ajax/ajax_cart.php',{section:'update_tocart',data:data},function(data){

        });             
    });
});

});

尝试上面!!你可以找到所有的输入元素!然后,您可以将其存储在json对象中并传递给ajax调用。

答案 3 :(得分:0)

试试这个

$.each($('.qty'), function() {
    var qty =  $(this).val();
    var item = $(this).siblings('input.item').val();
});

答案 4 :(得分:0)

$('.qty').each(function() { 

var qty =  $(this).val();
var item =  $(this).closest('.item').attr('value'); })

答案 5 :(得分:0)

在所有文本框中添加类,例如textbox

<script type="text/javascript">
    var items = [];
    var txtboxes = document.getElementsByClassName('textbox');
    var boxlengt = textboxes.length;
    for(var i=0;i<boxlengt;i++){
        items.push(textboxes[i].value)
    }
    console.log(items);
</script>

所有值都存储在items数组中。现在由您决定如何使用每个值。