2011-06-07 49 views
0

我运行一个ajax请求并返回一个json数组。 json数组中有更多的字段比页面上的字段更多。我想遍历文本字段并找到它们的名称并将其匹配到json数组并填入值。循环通过表单输入并与Json数组匹配

json数组中的字段名称和名称相同。

<script type="text/javascript"> 
function loadIntake(){ 
var client = <?php echo $id ?>; 

$.post("loadIntake.php", 
    {id: client}, 
    function(jdata){ 
     $.each(jdata, function(i, data) { 
      $('#' + i).val(data); 
     }); 
      $('input[type=text]').attr("name", function(n, idata){ 
       //$(idata).val(jdata.idata); 
       //alert (idata); 
      }) 
    }, 
    "json" 
); 

} 
</script> 

但是,一些字段是文本字段,一些是文本字段,一些是单选按钮和复选框。正如我所说的JSON数组有更多的字段比页面上的字段。所以我不想处理不必要的代码运行。

回答

0

如何:

$.each(jdata, function(i, data) { 
    var nameOfField = data.name; 
    $('[name='+nameOfField+']').val(); 
}); 

我真的不知道是否会工作,但它不会伤害尝试!

2

有些插件可能会考虑用于此目的。使用json对象填充表单比您想象的要复杂得多,因为字段不仅仅是'input'类型,还可以是'textarea','checkbox','radio'或'select'。

我发现下面的表格填充插件,但他们是相当古老:

http://www.keyframesandcode.com/resources/javascript/jQuery/demos/populate-demo.html

http://plugins.jquery.com/project/Wonderfill

+1

我测试过Wonderfill - 最新的插件 - 它工作正常! – bart 2011-06-22 19:20:45