2011-09-14 10 views
0

投稿の後にテキストボックスの値を取得しようとすると、以下のコードを使用して値として未定義になります。これが可能か、何か基本的なものが欠けていますか?JQueryを使用してAjax投稿後のテキストボックスの値を取得する方法

<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()); 
    }); 
} 

});

+0

を言っている:私は、テキストボックスをこのように参照されている必要がありますしかし

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

?あなたはあなたのjson repsonseを解析しましたか? data = $ .parseJSON(data)?? – Cole

答えて

0

すべてのお返事ありがとうございます。私はそれを考え出した。

元の質問に対する回答は - はい、ポストバック後にテキストボックスを参照することができます。問題は、私が間違ってテキストボックス配列を参照していたことでした。

私はもともとこのようなテキストボックスを参照して:あなたはあなたの戻りデータが未定義であることを

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

あなたの成功の機能は、[... 0,1,2] each iterator-からkeyを使用しますので、あなたのクエリセレクタは次のとおりです。

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

は、あなたが意図したもので、このですか?

だと思います。私は、あなたはおそらく望んでいたと思う:

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

私たちは(あなたのidのために使用されている)、こののあなたのHTML、または少なくとも出力のいくつかの必要があります:RSGが言うように、実際には

<?php echo $sizeid?> 

を、 $.eachメソッドは、配列を反復処理するために使用されるので、keyパラメータは、you can read in the documentationとしてvalueパラメータで渡される要素のインデックスです。

また、dataオブジェクトが実際に配列であることを確認してください。

関連する問題