如何使用JQuery获取ajax后的textbox值

时间:2011-09-14 22:21:39

标签: php jquery

当我尝试在帖子后获取文本框的值时,我使用下面的代码将其定义为值。这是可能的还是我遗漏了一些基本的东西?

<input type="text" size="3" value="<?php echo $item['qty'] ?>" id="quantity[<?php echo $sizeid?>]" name="quantity[<?php echo $sizeid?>]">

$.ajax({
type: "POST",
url: "bin/process_updateqty.php",
dataType: 'json',
data: dataString,
success: function(data) {
    $.each(data, function(key, value) {
        alert($('#quantity['+key+']').val());
    });
 }

});

3 个答案:

答案 0 :(得分:1)

您的成功函数将使用key迭代器 - [0,1,2 ...]中的each,因此您的查询选择器为:

#quantity[0], #quantity[1], (etc)

这是你的意图吗?

我想不是。我想你可能想要:

$.each(data, function(key, value) {
    alert($(value).val());
});

答案 1 :(得分:0)

我们需要您的一些HTML,或者至少是您的id所使用的输出:

<?php echo $sizeid?>

事实上,正如RSG所说,$.each方法用于迭代数组,因此在您的函数中,key参数是元素的索引value参数一起传递的内容为you can read in the documentation

另外,你确定你的data对象实际上是一个数组吗?

答案 2 :(得分:0)

感谢您的所有答案。我想通了。

原始问题的答案是 - 是的,您可以在回发后引用文本框。问题是我错误地引用了一个文本框数组。

我最初引用的文本框如下:

$('#quantity['+key+']').val()

但是我应该以这种方式引用文本框:

$('input[name="quantity['+key+']"]').val()