循环通过表单输入并与Json数组匹配

时间:2011-06-07 20:17:27

标签: jquery json

我运行ajax请求并返回一个json数组。 json数组中的内容比页面上的字段多。我想在文本字段中循环并找到它们的NAME并将其与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数组的字段比页面上的字段多。所以我不想处理不必要的代码运行。

2 个答案:

答案 0 :(得分:2)

您可能会考虑使用一些插件。使用json对象填充表单比您想象的更复杂,因为字段不仅是“输入”类型,还可以是“textarea”,“checkbox”,“radio”或“select”。

我发现以下形式的填充插件,但它们相当陈旧:

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

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

答案 1 :(得分:0)

这个怎么样:

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

老实说,我不确定这是否有效,但尝试不会有什么害处!