1

私のコードがあります:

$.ajax({
    url: "?module=gestionApplication&action=importScenario&fichierconf="+$fichierconf,
    dataType: "json",
    success: function( data ) {


        $( "#dialog-scenario input#fichierxml" ).val( data.FICHIERXML );
        $( "#dialog-scenario input#fichierproxy" ).val( data.FICHIERPROXY );
        $( "#dialog-scenario select#portail" ).val( data.PORTAIL );
        $( "#dialog-scenario select#typemaj" ).val( data.MONITORING );
        $( "#dialog-scenario input#periodemaintenance" ).val( data.MAINT );
        $( "#dialog-scenario input#nomdns" ).val( data.DNSATESTER );

それはうまく機能しますが、同じタイプの40行が、データの後の文字列を知らなくても同じアクションを実行できるようになりました。?

私は次のようなことをします

data.each( function(dataName) {
   $( "#dialog-scenario inputORselect#"+dataName ).val( data.dataname );
});

あなたの助けのためのThx

4

4 に答える 4

1
$.each(data, function(key, value) {
    // do your processing here
});
于 2012-08-16T09:21:25.243 に答える
1

IDは常に一意であり、その親に関する情報は必要ないことに注意してください。

$.each(data, function(name, value) {
   $("#"+name.toLowerCase()).val(value);
});
于 2012-08-16T09:21:38.697 に答える
1

要素の名前とデータプロパティの間にマップを作成します。

var map,
    prop;

map = {
    "typemaj" : "MONITORING",
    "periodemaintenance" : "MAINT"
}

次に、プロパティをループして値を設定できます。

for( prop in map ) {
    $( "#dialog-scenario inputORselect#" + prop ).val( data[ map[prop] ] );
}
于 2012-08-16T09:35:45.003 に答える
0
success: function( data ) {
    $.each(data, function(i, dataName) {
       $( "#dialog-scenario inputORselect#"+dataName ).val( data.dataname );
    });
}
于 2012-08-16T09:21:29.270 に答える