jQuery Json和每个

jQuery Json和每个,jquery,json,each,Jquery,Json,Each,这是我的代码: $.ajax({ url: "?module=gestionApplication&action=importScenario&fichierconf="+$fichierconf, dataType: "json", success: function( data ) { $( "#dialog-scenario input#fichierxml" ).val( data.FICHIERXML ); $

这是我的代码:

$.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 );
});

谢谢您的帮助

您就快到了,请记住,id始终是唯一的,不需要有关其父项的信息

$.each(data, function(key, value) {
    // do your processing here
});
$.each(data, function(name, value) {
   $("#"+name.toLowerCase()).val(value);
});

在元素名称和数据属性之间创建映射:

var map,
    prop;

map = {
    "typemaj" : "MONITORING",
    "periodemaintenance" : "MAINT"
}
然后,您可以在属性之间循环以设置其值

for( prop in map ) {
    $( "#dialog-scenario inputORselect#" + prop ).val( data[ map[prop] ] );
}

我总是忘记地图,而喜欢
$。每个
这可能更有效。不错的解决方案,布鲁诺。
for( prop in map ) {
    $( "#dialog-scenario inputORselect#" + prop ).val( data[ map[prop] ] );
}