2

如何获取在 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>

提前致谢 :)

4

6 回答 6

3

演示

尝试这个

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

  });

希望这有帮助,谢谢

于 2013-08-23T13:45:03.247 回答
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 调用。

于 2013-08-23T12:53:58.397 回答
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

于 2013-08-23T12:48:50.173 回答
0

尝试这个

$.each($('.qty'), function() {
    var qty =  $(this).val();
    var item = $(this).siblings('input.item').val();
});
于 2013-08-23T12:56:01.023 回答
0

尝试

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

var qty =  $(this).val();
var item =  $(this).closest('.item').attr('value'); })
于 2013-08-23T13:05:53.643 回答
0

将类添加到所有文本框,例如文本框

<script type="text/javascript">
    var Work = [];
var textboxes = document.getElementsByClassName('name_list');
var boxlengt = document.getElementsByClassName('name_list').length;
for(var i=0;i<boxlengt;i++){
    Work.push(textboxes[i].value)
}
Work = Work.toString();
</script>

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

于 2013-08-23T13:12:16.240 回答