反向$ .serializeArray?

时间:2014-01-22 16:02:26

标签: javascript jquery forms

假设我有一个带有键和值的对象,比如

{
  input_1: 'value_of_input_1',
  input_2: 1,
  input_3: 'two'
}

然后是一些输入字段:

   <input type="text" name="input_1">
   <input type="checkbox" name="input_2">
   <select name="input_3">
     <option value="one"> One </option>
     <option value="two"> Two </option>
     <option value="three"> Three </option>
   </select>

是否有一些jQuery函数能够将值从对象变量复制到实际的输入字段?我的意思是设置正确的值,选中或取消选中复选框,选择正确的选项等...

我知道$.val()但它只适用于文本字段?

1 个答案:

答案 0 :(得分:0)

我知道用一个“只使用库B!”类型答案来回答关于库A的问题是不礼貌的。所以把它当作一个思考的选择,而不是更多。也许这对你的情况来说是正确的想法。

您正在寻找像Knockout这样的数据绑定库(关键字MVVM)。

最简单的例子:

function ViewModel(data) {
    ko.mapping.fromJS(data, {}, this);
}

var data = {
    input_1: 'value_of_input_1',
    input_2: 1,
    input_3: 'two'
};

ko.applyBindings(new ViewModel(data));

<input type="text" name="input_1" data-bind="value: input_1">
<input type="checkbox" name="input_2" data-bind="checked: input_2">
<select name="input_3" data-bind="value: input_3">
  <option value="one"> One </option>
  <option value="two"> Two </option>
  <option value="three"> Three </option>
</select>

看到这个小提琴:http://jsfiddle.net/t2QhU/2/

相关问题