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

谢谢你的帮助

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 回答