Jquery模板选择

jquery templates selection

本文关键字:选择 Jquery      更新时间:2023-09-26

我有一个jquery模板与N个单选按钮,我需要选择单选按钮的值,我从外部html文件加载模板后通过(使用jquery .tmpl()方法)。有没有一个很好的方式选择单选按钮在模板中没有多个{{if}}, {{else}}语句,重复的代码和选择器?

您的数据以什么格式从服务器返回?如果是JSON数组,你能这样做吗?

html:

<script id="myTemplate" type="text/html">
    <input type="radio" value="${value}"{{if selected}} checked{{/if}}>${name}</input><br />
</script>
<div id="myDiv">
</div>
javascript:

var myData = [
    {name: 'test 1', value : 'radio1', selected : false},
    {name: 'test 2', value : 'radio2', selected : false},
    {name: 'test 3', value : 'radio3', selected : true},
    {name: 'test 4', value : 'radio4', selected : false}
];
$('#myTemplate').tmpl(myData).appendTo('#myDiv');
http://jsfiddle.net/JbTwB/1/

如果您有所需的单选项的值,您可以这样做:

jInstance.find('input[value=' + desiredValue + ']').attr('checked', true);

这里假设jInstance是模板的新创建副本,并且desiredValue与您想要预选的单选按钮的值完全匹配。

如果你只知道部分值,你可以使用其他jQuery选择器来定位输入。

如果你正在寻找一个更通用的"表单预填充"例程,你需要建立某种格式来存储预填充值集,以及从该格式到模板的映射。但这是可以做到的,而且也不是那么难。