0

これが可能かどうかさえわかりません...

次のjqueryコードを使用してAJAX JSONデータを処理していますが、正常に動作します...

       data = jQuery.parseJSON(data);

    $('textarea#bec_term_id').html(data.bec_term_newlines_term_id); 
    $('textarea#bec_name').html(data.bec_term_newlines_name); 
    $('textarea#bec_slug').html(data.bec_term_newlines_slug); 
    $('textarea#bec_description').html(data.bec_term_newlines_description); 

しかし、私は上記を動的に作成したいと考えています(理由は?これは、可能な追加行の数が不明な完全なコードの短縮バージョンにすぎないためです)。

私が使用しようとしている方法は次のとおりです。

    data = jQuery.parseJSON(data);

    var columnslist  = [  'term_id', 'name', 'slug', 'description'];  // plus others

    $.each(columnslist, function(index, colname) {
          $('textarea#bec_' + colname ).html(data.'bec_term_newlines_' + colname);  
    });

しかし、うまくいきません。

問題を引き起こしているのは、この .html(data. ) の最後の部分 (「マーク」) です。

そのようなコンテキストで変数を使用する方法を知っている人はいますか? そうでない場合、同じ目的を達成する他の方法はありますか?

4

4 に答える 4

1

[]varを渡すために使用します

$('textarea#bec_' + colname ).html(data['bec_term_newlines_' + colname]);
于 2013-02-05T02:26:26.170 に答える
1

角括弧表記を使用する

$('textarea#bec_' + colname ).html(data['bec_term_newlines_' + colname]);  
于 2013-02-05T02:26:35.280 に答える
0

dataTypeの設定にも興味があるかもしれません$.ajax

APIドキュメントから:

dataType(デフォルト:Intelligent Guess(xml、json、script、またはhtml))

タイプ:文字列

サーバーから返されると予想されるデータのタイプ。何も指定されていない場合、jQueryは応答のMIMEタイプに基づいてそれを推測しようとします(XML MIMEタイプはXMLを生成し、1.4ではJSONはJavaScriptオブジェクトを生成し、1.4ではスクリプトはスクリプトを実行します。文字列として返されます)。

おそらく、その行'json'を回避するように設定できます。data = jQuery.parseJSON(data);

于 2013-02-05T02:33:24.220 に答える
0

JavaScriptで行っているようにアクセサに文字列を使用することはできませんが、角かっこ表記を使用することはできます。

.html(data['bec_term_newlines_' + colname]);
于 2013-02-05T02:26:37.343 に答える