2013-12-18 28 views
1

目前,我爲每個表單創建一個Handlebars模板,並在其中使用value={{user}}。所以我可以很容易地填寫任何表單來更新任何實體。但是select,radiockeckbox是不同的。是否有任何干淨的方式來填充這些元素。他們沒有value屬性。用於處理表格的處理程序模板

回答

0
<select id='select'> 
    <option selected value=user name=test>test</option> 
</select> 

,你可以看到,你可以控制的select通過設置「中選擇」屬性特定選項的值。

或者你可以嘗試嵌入類似

document.getElementById('select').value={{user}} 

一些JavaScript代碼,你需要確保你有正確的值選項屬性設置

+1

這不是OP要求的。 – thomaux

0

您可以通過使用each幫手來實現這一目標。

<select> 
    {{#each options}} 
     <option>{{this}}</option> 
    {{/each}} 
</select> 

其中options是一個普通數組(["apple", "banana", "pear"])。

你可以在homepage找到更多的信息。還有一個例子,您的數組包含對象,如果您需要指定value屬性,這可能很有用。

0

在計算器上,我發現這個答覆: How to set selected select option in Handlebars template

有了一個很好的解決方案(從@janjarfalk由@BlaM編輯):

與此部分(使用jQuery)...

window.Handlebars.registerHelper('select', function(value, options){ 
    var $el = $('<select />').html(options.fn(this)); 
    $el.find('[value="' + value + '"]').attr({'selected':'selected'}); 
    return $el.html(); 
}); 

你可以用你的車把模板選擇具有{{#選擇狀態}} ...

<select> 
    {{#select status}} 
    <option value="Completed">Completed</option> 
    <option value="OverDue">OverDue</option> 
    <option value="SentToPayer">SentToPayer</option> 
    <option value="None">None</option> 
    {{/select}} 
</select>