2009-12-28 102 views
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調用時間被髮送,服務器返回像

{"name":"john", "email": "[email protected]", "group": 2} 

一個JSON對象,我不想做的繁瑣工作填充手動JSON數據的形式,例如

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

回答

4

你可以輕鬆地構建一個簡單的插件,可以這樣做:

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

您可能需要優化屬性選擇器,只檢查inputselecttextarea元件,在這個例子中選擇想要的任何元素(*[name=foo])。

此外,您可能需要添加一些代碼才能正確處理單選按鈕。

用您的標記here檢查示例。

+0

+1更快 – munch 2009-12-28 05:28:32