Meteor js:如何设置单选按钮?

3

我有一组3个单选按钮,我想在页面首次呈现时设置它们:

            <div>
                <div><input id="{{_id}}_undefined" type="radio" name="accepted" {{undecided}}>No Determination</div>
                <div><input id="{{_id}}_true" type="radio" name="accepted" value="true" {{accepted}}>Assign To Researchers</div>
                <div><input id="{{_id}}_false" type="radio" name="accepted" value="false" {{declined}}>Decline</div>
                {{#if declined}}
                <textarea name="declineReason" ></textarea>
                {{/if}}
                <button id="saveChanges" data-research-request-id="{{_id}}">Save Changes</button>
            </div>

使用以下这些助手:
Template.su_researchRequests.helpers({
// This feels so wrong.
accepted: function() {
    return this.accepted === true?'checked':'';
},
declined: function() {
    return this.accepted === false?'checked':'';
},
undecided: function() {
    return this.accepted !== false && this.accepted !==true?'checked':'';
}
});

我曾尝试返回 {'checked':''} 或 {} 对象。

在 Meteor 中,我无法像在 Mustache 中使用 {{#if}} 来阻止 checked 属性。

当渲染页面时,设置当前值不应该太难。

1个回答

7

好的,问题在于单选按钮的名称不够唯一。一旦我做了这个:

<div><input id="{{_id}}_undefined" type="radio" name="{{_id}}_accepted" {{undecided}}>No Determination</div>
<div><input id="{{_id}}_true" type="radio" name="{{_id}}_accepted" value="true" {{accepted}}>Assign To Researchers</div>
<div><input id="{{_id}}_false" type="radio" name="{{_id}}_accepted" value="false" {{declined}}>Decline</div>

生活很美好。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接