使用jquery在循环内获取特定的文本框值

时间:2015-07-01 05:03:09

标签: javascript php jquery ajax

我有一个问题是使用jquery在循环中获取特定的文本框值。 请看下面的代码。 我将在打印按钮旁边的所有文本框中获得1到10个值。 当我提交该特定文本框值时,它将始终将第一个值作为“1”。

我知道在jquet代码中我必须使用“$ this”关键字来获得该特定值,但我是jquery的新手,我尝试了很多方法来做到这一点,我失败了。 请帮忙。

<?PHP for($i=0, $i<10; $i++) ?>
<input type="text" name="ad_id" value="<?PHP echo $i; ?>" class="ad_id" />
<button type="button" class="ad_increase">Submit</button>
<?PHP } ?>


<script>
$('.ad_increase').click(function() {
    var get_ad_id = $('.ad_id').each();


    $.post('includes/show_ad_id.php', {
        ad_id: get_ad_id
    }, function(res) {

        if (res != 1) {
            $('.display_in_model').html(res);
        } else {
            $('.display_in_model').html('');
        }

    });

});
</script>

2 个答案:

答案 0 :(得分:3)

使用prev()获取之前input的值。 另外,将each()更改为val()以获取输入值。

var get_ad_id = $(this).prev('.ad_id').val();

<强>代码

$('.ad_increase').on('click', function() {
    var get_ad_id = $(this).prev('.ad_id').val();
    //              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

    $.post('includes/show_ad_id.php', {
        ad_id: get_ad_id
    }, function(res) {
        if (res != 1) {
            $('.display_in_model').html(res);
        } else {
            $('.display_in_model').html('');
        }
    });
});

答案 1 :(得分:2)

尝试

$(".ad_id").each(function() {
    alert($(this).val());
});