1

示例 ajax 表单

<form method="post">
  <input type="text" name="name" />
  <input type="text" name="email" />
  <select name="group">
    <option value="1">group 1</option>
    <option value="2">group 2</option>
  </select>
  <button type="submit">submit</button>
</form>

每次显示表单时都会发送一个 ajax 调用,并且服务器会返回一个 json 对象,例如

{"name":"john", "email": "john@some-domain.com", "group": 2}

我不想做手动填写 json 数据的繁琐工作,例如

$('#myform').fillWith( json );
4

1 回答 1

4

您可以轻松地构建一个简单的插件来做到这一点:

jQuery.fn.fillWith = function(input) {
  return this.each(function(){
    var form = this;
    $.each(input, function (key, value) {
      $(form).find('[name='+key+']').val(value);
    });
  });
};

您可能希望优化属性选择器,只检查input, select,textarea元素,在本例中,选择器正在寻找任何元素 ( *[name=foo])。

此外,您可能必须添加一些代码才能正确处理单选按钮。

在此处检查带有您的标记的示例。

于 2009-12-28T05:25:51.730 回答