jQuery .each()无法获得多行输入值

时间:2016-04-16 05:38:08

标签: jquery

我有这个由PHP生成的HTML代码:

for ($i; $i<$max; $i++) {
    echo '<input type="text" name="quantity" class="form-control quantity" value="'.$sc_quantity.'" min="1" max="10" maxlength="2" size="2" disabled="disable">'    
}

我需要使用jquery获取每个.quantity类的值:

$(document).ready(function(){
    $(".quantity").each(function(){
        var current_qty = $(this).val();
        alert (current_qty);
    }
});

但我无法提醒它。意思是,我对.quantity的选择不正确。在这种情况下如何正确使用each()方法?谢谢

3 个答案:

答案 0 :(得分:2)

尝试使用以下内容:

$('.quantity').each(function(){
    alert($(this).attr('value'));
});

https://jsfiddle.net/85q8w9t1/

答案 1 :(得分:1)

SachinGutte 在评论中指出后,fsincos);添加到each实现了这一点,您的语法运行正常。

$(".quantity").each(function(){
    var current_qty = $(this).val();
    alert (current_qty);
});  // note here you had missed the closing 

这是使用$.each('selector',handlerFunction)

执行此操作的一种方法
$.each(".quantity",function(){
    var current_qty = $(this).val();
    alert (current_qty);
});

另一种方法是使用函数回调中的参数。

$(".quantity").each(function(index, element){
    var current_qty = $(element).val();
    alert (current_qty);
});

请注意代码中的function(index, element)已更改..

答案 2 :(得分:1)

您需要将元素参数添加到$ .each调用中:

$(document).ready(function(){
    $(".quantity").each(function(i,el){
        var current_qty = $(el).val();
        alert (current_qty);
    });
});