jquery 模板选择

发布于 2024-11-29 01:07:30 字数 144 浏览 1 评论 0原文

我有一个带有 N 个单选按钮的 jquery 模板,我需要选择具有从外部 html 文件加载模板后传递的值的单选按钮(使用 jQuery.tmpl() 方法)。有没有一种好的方法可以在模板中选择单选按钮,而无需多个 {{if}}、{{else}} 语句、重复的代码和选择器?

I have a jquery template with N radio buttons and I need to select radio button with value that I pass after loading template from external html file(using jQuery.tmpl() method). Is there a good way of selection of radio button in template without multiple {{if}}, {{else}} statements, duplicate code and selectors?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

埋情葬爱 2024-12-06 01:07:30

您的数据以什么格式从服务器返回?如果是 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/

In what format is your data coming back from the server? If it's a JSON array, could you do something like this?

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/

偏爱你一生 2024-12-06 01:07:30

如果您有所需无线电的值,您可以执行以下操作:

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

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

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

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

If you have the value of the desired radio, you could do something like:

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

This assumes that jInstance is the newly-created copy of the template, and that desiredValue exactly matches the value of the radio button you'd like to be pre-selected.

If you only know part of the value, there are other jQuery selectors you can use to target that input.

If you're looking for a more general "form pre-filling" routine, you'll need to establish some kind of format for storing the set of pre-fill values, and a mapping from that format to the template. But it can be done, and it's not necessarily that hard, either.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文