Meteor复选框组 - 一次只检查一个复选框,如收音机

时间:2015-10-26 23:54:22

标签: javascript meteor checkbox

我已经完成了创建一个复选框组,其中必须至少选中一个复选框。 现在我想更进一步,让复选框组的行为类似于一组单选按钮,这样一次只能选择一个复选框,并且必须至少选择一个。

到目前为止的代码:

HTML:

<form>
    <ul>
        {{#each checkbox}}
        <li>
            <input type="checkbox" checked="{{checked}}" class="toggle-checked"> {{name}}: {{checked}}
        </li>
        {{/each}}
    </ul>
</form>

JS:

Cbtest = new Mongo.Collection('cbtest');

Template.checkbox.helpers({
    checkbox: function () {
        return Cbtest.find();
    }
});

Template.checkbox.events({
    "click .toggle-checked": function (event) {
        var self = this;
        //deactivate the checkboxes visually
        event.preventDefault();
        Meteor.call("setChecked", self._id, !self.checked);
    }
});

Meteor.methods({
    setChecked: function (checkboxId, setChecked) {
        //deactivate the checkbox value change in the database
        if (!setChecked && CheckboxResources.find({
            checked: true
        }).count() === 1)
        return;
        Cbtest.update(checkboxId, {
            $set: {
                checked: setChecked
            }
        });
    }
});

提前感谢您的帮助!

VIN

0 个答案:

没有答案