我有一个带有复选框输入的模板:
如果我使用这个HTML
Controller::set()
和
<label class="checkbox-inline">
<input type="checkbox" name="apPartTime"
checked="{{isWorkChecked 'isPartTime'}}">Part Time
</label>
我可以得到真或假,但如果我只想使用javascript,我怎样才能获得布尔值?
如果html喜欢这个
let isPartTime = $('[name=apPartTime]').is(':checked');
我想要检查此复选框是否
我试过
<label class="checkbox-inline">
<input type="checkbox" id ="apFullTime"
checked="{{isWorkChecked 'apFullTime'}}">Full Time
</label>
没有工作。
答案 0 :(得分:0)
如果您将复选框打包在表单中,则可以通过访问event.target.myId.checked
来检索该值。
例如:
<template name="myTemplate">
<form class="my-form">
<label class="checkbox-inline">
<input type="checkbox" id="ap-full-time-form">Full Time
</label>
<button type="submit">Submit</button>
</form>
</template>
Template.myTemplate.events({
'submit .my-form'(event, instance) {
event.preventDefault();
let isChecked = event.target["ap-full-time-form"].checked;
console.log(isChecked);
}
});
如果要为输入类型注册单独的Meteor事件,可以使用event.target.checked
直接访问该值。
例如:
<template name="myTemplate">
<label class="checkbox-inline">
<input type="checkbox" id="ap-full-time-form">Full Time
</label>
</template>
Template.myTemplate.events({
'click input'(event, instance) {
let isChecked = event.target.checked;
console.log(isChecked);
}
});
此外,您只需使用instance.find("#myId").checked
:
Template.myTemplate.events({
'submit .my-form'(event, instance) {
event.preventDefault();
let isChecked = instance.find("#ap-full-time-form").checked;
console.log(isChecked);
}
});