Javascript 自动将JSON对象中的值应用于输入标记

Javascript 自动将JSON对象中的值应用于输入标记,javascript,jquery,json,Javascript,Jquery,Json,我从数据库返回了一个JSON对象。JSON对象中的值来自一个充满输入标记的HTML页面 var userTemplate = { }; $("#tabBasic").find($("input")).each(function() { userTemplate[this.name] = this.value; }); 现在我想将JSON中的值重新应用到页面上的输入标记 有没有一种方法可以使用jQuery自动完成此操作?您刚刚颠倒了分配 $("#tabBasic").find("inpu

我从数据库返回了一个JSON对象。JSON对象中的值来自一个充满输入标记的HTML页面

var userTemplate = { };
$("#tabBasic").find($("input")).each(function() {
    userTemplate[this.name] = this.value;
});
现在我想将JSON中的值重新应用到页面上的输入标记


有没有一种方法可以使用jQuery自动完成此操作?

您刚刚颠倒了分配

$("#tabBasic").find("input").each(function() {
    this.value = userTemplate[this.name];
});
我假设每个输入都有一个唯一的
名称
属性


您还可以将函数传递给该方法。
返回值
被指定为新值

$("#tabBasic").find("input").val(function() {
    return userTemplate[this.name];
});

+1我不知道
.val()
函数参数,酷!然而,在本例中,切题并选择
$(“#tabBasic input')
不是更好吗?甚至可能
$('input','#tabBasic')
?@richardnielilagan:这要看情况而定。在某些浏览器中,先选择ID,然后选择
.find()
,实际上效果会更好。和
$('input','#tabBasic')
,而concurrence最终被转换为
$(“#tabBasic”).find(“input”)
,因此由于转换速度较慢(IMO可读性较差)。在大多数情况下,三者之间的性能差异可以忽略不计,这取决于个人偏好。:)