gpt4 book ai didi

javascript - 如何将对象映射到表单字段?

转载 作者:行者123 更新时间:2023-11-30 09:03:59 25 4
gpt4 key购买 nike

我有一个这样的对象:

var settings = {
Name: "Fairy Tail",
Feature:
{
Translate: true,
Share: true
}
}

还有一个表格

<form>
<input type="text" name="Name" />
<input type="checkbox" name="Feature.Translate" />
<input type="checkbox" name="Feature.Share" />
</form>

如何让对象“自动”填写表单(无需手动设置每个字段的值)?

最佳答案

您可以这样做(jsfiddle 对于更复杂的示例),假设您首先设置了settings 变量:

var assignValue = function(n, v){
var field = jQuery('form input[name="'+n+'"]');
if (field.attr('type')=='text'){
field.val(v);
} else if (field.attr('type')=='checkbox') {
field.prop('checked',v);
}
}

var assignSettings = function(list, prefix){
if (typeof prefix != 'undefined'){
prefix += '.';
}else{
prefix = '';
}
for (item in list){
if ((typeof list[item]=='string')||(typeof list[item]=='boolean')){
assignValue(prefix+item,list[item]);
}else if(typeof list[item]=='object'){
var n1 = item;
assignSettings(list[n1],prefix+n1);
}
}
}

assignSettings(settings);

而且这个解决方案不像我目前看到的版本中的其他解决方案那样受限——它支持您给出的案例,并且可以轻松扩展以支持不同类型的字段和更多级别。

关于javascript - 如何将对象映射到表单字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6720393/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com