我有一个问题是使用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>
答案 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());
});