我有一个附加到复选框的事件处理程序。我正在使用自举开关http://www.bootstrap-switch.org/
我试图将状态值(true或false)输入变量,因此我可以将其设置为会话值。
当状态改变时,我可以得到真值或假值(如渲染代码中所示)。但是,我想在事件中获得这个价值。请检查我的x变量。
client.js
Template.myTemplate.rendered = function () {
$('input[name="questions"]').bootstrapSwitch('state', true, true);
$('input[name="questions"]').on('switchChange.bootstrapSwitch', function(event, state) {
console.log(state); // true | false
});
HTML:
<template name="myTemplate">
<div class="row">
<input type="checkbox" name="questions" unchecked> Hobby?
</div>
<div class="row">
<input type="checkbox" name="questions" unchecked> Writer?
</div>
我试图将渲染代码中console.log(state)
中打印的值变为我事件中的变量,这样我就可以将会话值设置为true或false。
Template.myTemplate.events({
'click input': function(event) {
var x = $(this).is(":checked").val();
Session.set("statevalue", x);
console.log(Session.get("statevalue")); // this is not printing out anything
}
});
答案 0 :(得分:15)
我认为我有更好的解决方案,而不是直接使用JQuery:
assertThat(quote.getModels(),
hasItem(Matchers.<PhoneModel> hasProperty("makeId",
equalTo(LG_ID))));
assertThat(quote.getModels(),
hasItem(Matchers.<PhoneModel> hasProperty("modelId",
equalTo(NEXUS_4_ID))));
}
请注意,我建议您使用更改而非点击事件。
答案 1 :(得分:4)
如果您为复选框定义了ID,则可以使用
event.target.checkboxID.checked
with Template-event。
如果选中,则返回true或false。
答案 2 :(得分:2)
您应该使用模板实例:
Template.myTemplate.events({
'click input': function(event, template) {
var x = template.$('input').is(":checked").val();
Session.set("statevalue", x);
console.log(Session.get("statevalue"));
}
});
或者也许是'目标':
Template.myTemplate.events({
'click input': function(event) {
var x = $(event.target).is(":checked").val();
Session.set("statevalue", x);
console.log(Session.get("statevalue"));
}
});
答案 3 :(得分:1)
Template.myTemplate.rendered = function () {
$('input[name="questions"]').bootstrapSwitch('state', true, true);
$('input[name="questions"]').on('switchChange.bootstrapSwitch', function(event, state) {
var x = $(event.target).is(":checked");
Session.set("statevalue", x);
console.log(Session.get("statevalue"));
});
}
答案 4 :(得分:0)
'click .task_checkbox'(event){
const target = event.target;
var isChecked = $("#"+event.target.id).is(":checked").val();
console.log(isChecked);
},
答案 5 :(得分:0)
event
对象已经拥有所需的所有信息。
Template.myTemplate.events({
'click input': function(event) {
if (event.target.name === 'questions') {
Session.set("statevalue", event.target.checked);
console.log(Session.get("statevalue"));
}
}
});