我运行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数组的字段比页面上的字段多。所以我不想处理不必要的代码运行。
答案 0 :(得分:2)
您可能会考虑使用一些插件。使用json对象填充表单比您想象的更复杂,因为字段不仅是“输入”类型,还可以是“textarea”,“checkbox”,“radio”或“select”。
我发现以下形式的填充插件,但它们相当陈旧:
http://www.keyframesandcode.com/resources/javascript/jQuery/demos/populate-demo.html
答案 1 :(得分:0)
这个怎么样:
$.each(jdata, function(i, data) {
var nameOfField = data.name;
$('[name='+nameOfField+']').val();
});
老实说,我不确定这是否有效,但尝试不会有什么害处!