1

だから私は、$.postいくつかを返しますjson_encode($array);

$arrayは 1 次元で、2、4、6 の数字が含まれています。

dataはjsonデータを保持していますが、どうすればループして#timeセレクターにオプションを設定できますか? およびvalue=""表示テキストは、配列の数値である必要があります。

4

3 に答える 3

1

多分あなたはこれをしたい:

var s = $('select#time');
s.empty();
$.each(data, function(key, value){
  s.append($("<option />").text(value).val(key);
  //or 
  s.append($("<option value="key">value</option>"); 
});
于 2012-06-16T23:12:30.410 に答える
1

json_encode($array)fromによって返される実際のデータはPHPJavaScript の文字列であり、最初にオブジェクトに変換してループする必要があるため$.parseJSON、ループが始まる前に使用します。

var obj=$.parseJSON(data);
$.each(obj, function(k, v) {
    $("<option />").text(v).val(v).appendTo("#time");
});​

デモ。

于 2012-06-16T23:18:31.980 に答える
1

そのようなものはうまくいくはずです:

$.each(data, function(i, val) {
    $("<option />").text(val).val(val).appendTo("#time");
}​);​

デモ: http://jsfiddle.net/tmSqR/


アップデート。データは文字列形式から JSON にデコードされません。dataTypeプロパティをに追加するか、反復を行う前に$.post使用します。data = JSON.parse(data)

デモ: http://jsfiddle.net/tmSqR/1/

于 2012-06-16T23:03:58.397 に答える