2014-01-22 28 views
0

比方說,我有一個鍵和值的對象像

{ 
    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

不,沒有。而且,.val()對select元素有效。 –

+0

你可以寫一個簡單的小函數來做到這一點沒有jQuery – Yoda

回答

0

我知道這是迴應關於圖書館A的問題與「只是使用庫B!」類型的答案。因此,請將此作爲考慮的一個選項,而不是更多。也許這對你的情況來說是正確的想法。

您正在尋找像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/