如何使用jquery通过json对象设置html表单元素值

时间:2014-12-24 12:02:47

标签: jquery json html-form

我想通过jquery使用json对象设置HTML表单元素值。 我已经在HTML本地存储中添加了serializeArray()的值。

var formData = $('#page-2').serializeArray();
formData.forEach(function(field){
    var dataDInfo = {};
    if($.inArray(field.name, propertyDList) >= 0){
        if($('#'+field.name).data('displayName')){
            dataDInfo['present'] = field.value;
            dataDInfo[displayName] = $('#'+field.name).data('displayName');
            list.propertyDCategory[field.name] = dataDInfo;
        } else {`enter code here`
            list.propertyDCategory[field.name] = field.value;
        }
    }
});

现在我拥有json对象中的所有值list。 我使用

获取所有数据
var lists = JSON.parse(localStorage.getItem('list'));

eg: json
{
  aa:ab,
  bb:{
    cc:cb,
    dd:db
  },
  ee:eb
}

现在我想编写一个编辑和更新函数,并使用基于json数据字段的json数据(HTML元素的名称等于json数据字段)填充所有元素值,之后我想更新本地存储列表。

注意:html表单包含输入,单选按钮,检查列表,选择元素类型。

元素正在根据select元素进行更改。

有人可以帮我写代码吗?

感谢。

1 个答案:

答案 0 :(得分:2)

迭代列表中的每个json对象,然后使用键使用jquery选择器选择输入元素。使用val方法设置input元素的值。

会是这样的:

for (var key in lists) {   
  $('[name="'+key+'"]').val(lists[key]);
}

jsFiddle example