3

以下のコードは機能しますが、拡張する必要があるため、より合理化しようとしています。

success: function setData(data) {
            $("#price" + lastchar).html(data.price);
            $("#matricule" + lastchar).html(data.matricule);
            $("#tag" + lastchar).html(data.tag);
            $("#ins_yr1" + lastchar).html(data.ins_yr1);
            $("#Totalacq" + lastchar).html(data.Totalacq);
        }

このような:

success: function (data){
  var desc=[];
  desc = ["price","matricule","tag","ins_yr1","Totalacq"];
  for (var i=0;i<desc.length;i++){
    $( "#" + desc[i] + lastchar).html(data.desc[i]);
  }
}

しかし、少なくとも私がやろうとしている形式ではなく、desc[i]内の変数を受け入れないため、これは機能しません。.html()

何か案は?ありがとう!

4

2 に答える 2

3

あなたの問題は ではなく、プロパティhtmlにアクセスしようとしている方法にあります。ただし、配列インデックスと同様に、dataを使用して取得/設定できます。[]

data[desc[i]]

つまり、data.priceと同等data["price"]です。

于 2013-03-03T00:41:13.593 に答える
1

将来の使用のための参照として残しておいてください。配列オブジェクトのキーを直接参照することで、さらに短くできることに気付きました。

success: function (data){

    var keys = Object.keys(data);
    for (var i=0;i<keys.length;i++){
        $( "#" + keys[i] + lastchar).html(data[keys[i]]);
    }
}
于 2013-03-04T11:14:59.377 に答える