Javascript 用于处理表单的Handlerbars模板
目前,我为每个表单创建了一个把手模板,并在其中使用value={{user}}。因此,我可以轻松填写任何表格,以更新任何实体。但是select、radio和CKBOX是不同的。是否有任何干净的方法来填充这些元素呢。它们没有值属性Javascript 用于处理表单的Handlerbars模板,javascript,handlebars.js,Javascript,Handlebars.js,目前,我为每个表单创建了一个把手模板,并在其中使用value={{user}}。因此,我可以轻松填写任何表格,以更新任何实体。但是select、radio和CKBOX是不同的。是否有任何干净的方法来填充这些元素呢。它们没有值属性 <select id='select'> <option selected value=user name=test>test</option> </select> 您需要确保设置了具有正确值属性的选项,您可以通过使
<select id='select'>
<option selected value=user name=test>test</option>
</select>
您需要确保设置了具有正确值属性的选项,您可以通过使用每个帮助器来实现这一点 其中选项是一个普通数组[苹果、香蕉、梨]
您可以在上找到更多信息。还有一个示例,其中数组包含object,如果需要指定值属性,该示例可能会很有用。关于stackoverflow,我发现以下回复: 使用@BURM编辑的@janjarfalk提供的非常好的解决方案: 使用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 status}在把手模板中换行选择项
<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>
这不是OP的要求。
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>