简体   繁体   English

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

[英]How do I get multiple textbox values that are dynamically created in jquery

How do I get multiple textbox values that are dynamically created in jquery如何获取在 jquery 中动态创建的多个文本框值

Sample code:示例代码:

<?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>

thanks in advance :)提前致谢 :)

DEMO演示

Try this试试这个

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

  });

Hope this helps,Thank you希望这有帮助,谢谢

Try with .next() like尝试使用.next()类的

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

So it would be所以它会

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

See the FIDDLE And FIDDLE2查看FIDDLEFIDDLE2

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){

        });             
    });
});

}); });

Try above!!上面试试!! You can find all input elements!您可以找到所有输入元素! You can then store it in a json object and pass to ajax call.然后,您可以将其存储在 json 对象中并传递给 ajax 调用。

Try this试试这个

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

try尝试

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

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

add class to all your textbox eg textbox将类添加到所有文本框,例如文本框

<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>

All the values are being stored in the items array.所有值都存储在 items 数组中。 Now its up to you how you want each values to be used.现在取决于您希望如何使用每个值。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM