フォームフィールドを簡単に入力するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/1968059

質問

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 );
役に立ちましたか?

解決

簡単なプラグインを簡単に構築することができます。

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]).

また、ラジオボタンを正しく処理するためにコードを追加する必要がある場合があります。

マークアップで例を確認してください ここ.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top