Knockout.js 取消单选按钮单击绑定不工作
我的HTML代码是:Knockout.js 取消单选按钮单击绑定不工作,knockout.js,Knockout.js,我的HTML代码是: <div class="radio i-checks" data-bind="click: fixPriceChecked"><label> <input type="radio" value="fixedPrice" name="bidingAllowed"> <i></i> Fixed Price </label></div> <div class="radio i-checks"
<div class="radio i-checks" data-bind="click: fixPriceChecked"><label> <input type="radio" value="fixedPrice" name="bidingAllowed"> <i></i> Fixed Price </label></div>
<div class="radio i-checks" data-bind="click:allowBidingChecked"><label> <input type="radio" value="allowBiding" name="bidingAllowed"> <i></i> Allow Biding</label></div>
单击数据绑定不起作用。fixPriceChecked
功能不会监听单击。我做错了什么
更新:
<div>
<label>
<input class="radio i-checks" type="radio" data-bind="iChecked: fixedPrice " name="1" value="fixedPrice" />Fixed Price</label>
</div>
<div>
<label>
<input class="radio i-checks" type="radio" data-bind="iChecked: allowBiding " name="1" value="allowBiding" />Allow Biding</label>
</div>
ko.bindingHandlers.iChecked = {
init: function (element, valueAccessor) {
$(element).iCheck({
radioClass: "iradio_square-green",
});
$(element).on('ifChanged', function () {
var observable = valueAccessor();
observable($(element)[0].checked);
});
},
update: function (element, valueAccessor) {
var value = ko.unwrap(valueAccessor());
if (value) {
$(element).iCheck('check');
} else {
$(element).iCheck('uncheck');
}
}
};
var ViewModel = function () {
var self = this;
self.fixedPrice = ko.observable(true);
self.allowBiding = ko.observable(false);
};
ko.applyBindings(new ViewModel());
我将我的HTML更新为:
<div data-bind="click:fixPriceChecked">click here</div>
<div class="radio i-checks" data-bind="click:fixPriceChecked"><label> <input type="radio" value="fixedPrice" name="bidingAllowed"> <i></i> Fixed Price </label></div>
<div class="radio i-checks" data-bind="click:allowBidingChecked"><label> <input type="radio" value="allowBiding" name="bidingAllowed"> <i></i> Allow Biding</label></div>
点击这里
固定价格
允许投标
现在,当我点击点击这里
时,它工作正常。这意味着单选按钮有一些问题。单击不仅仅适用于单选按钮。您需要“选中”绑定;-)
查看“添加单选按钮示例”中的页面:
您需要“选中”绑定;-)
查看“添加单选按钮示例”中的页面:
您需要“选中”绑定;-)
查看“添加单选按钮示例”中的页面:
您需要“选中”绑定;-)
查看“添加单选按钮示例”中的页面:
Html元素输入是一个自动关闭的标记
您可以更正它
默认情况下,您的代码工作正常
我认为点击div不是个好主意,因为我们已经选中了单选按钮的选项
更新:您需要使用自定义绑定处理程序来集成iCheck
插件
查看:
<div>
<label>
<input class="radio i-checks" type="radio" data-bind="iChecked: fixedPrice " name="1" value="fixedPrice" />Fixed Price</label>
</div>
<div>
<label>
<input class="radio i-checks" type="radio" data-bind="iChecked: allowBiding " name="1" value="allowBiding" />Allow Biding</label>
</div>
ko.bindingHandlers.iChecked = {
init: function (element, valueAccessor) {
$(element).iCheck({
radioClass: "iradio_square-green",
});
$(element).on('ifChanged', function () {
var observable = valueAccessor();
observable($(element)[0].checked);
});
},
update: function (element, valueAccessor) {
var value = ko.unwrap(valueAccessor());
if (value) {
$(element).iCheck('check');
} else {
$(element).iCheck('uncheck');
}
}
};
var ViewModel = function () {
var self = this;
self.fixedPrice = ko.observable(true);
self.allowBiding = ko.observable(false);
};
ko.applyBindings(new ViewModel());
选中单选按钮的工作样本绑定
以防万一,如果您正在查找一个选定的值,请尝试Html元素输入是一个自动关闭标记
,您可以更正它
默认情况下,您的代码工作正常
我认为点击div不是个好主意,因为我们已经选中了单选按钮的选项
更新:您需要使用自定义绑定处理程序来集成iCheck
插件
查看:
<div>
<label>
<input class="radio i-checks" type="radio" data-bind="iChecked: fixedPrice " name="1" value="fixedPrice" />Fixed Price</label>
</div>
<div>
<label>
<input class="radio i-checks" type="radio" data-bind="iChecked: allowBiding " name="1" value="allowBiding" />Allow Biding</label>
</div>
ko.bindingHandlers.iChecked = {
init: function (element, valueAccessor) {
$(element).iCheck({
radioClass: "iradio_square-green",
});
$(element).on('ifChanged', function () {
var observable = valueAccessor();
observable($(element)[0].checked);
});
},
update: function (element, valueAccessor) {
var value = ko.unwrap(valueAccessor());
if (value) {
$(element).iCheck('check');
} else {
$(element).iCheck('uncheck');
}
}
};
var ViewModel = function () {
var self = this;
self.fixedPrice = ko.observable(true);
self.allowBiding = ko.observable(false);
};
ko.applyBindings(new ViewModel());
选中单选按钮的工作样本绑定
以防万一,如果您正在查找一个选定的值,请尝试Html元素输入是一个自动关闭标记
,您可以更正它
默认情况下,您的代码工作正常
我认为点击div不是个好主意,因为我们已经选中了单选按钮的选项
更新:您需要使用自定义绑定处理程序来集成iCheck
插件
查看:
<div>
<label>
<input class="radio i-checks" type="radio" data-bind="iChecked: fixedPrice " name="1" value="fixedPrice" />Fixed Price</label>
</div>
<div>
<label>
<input class="radio i-checks" type="radio" data-bind="iChecked: allowBiding " name="1" value="allowBiding" />Allow Biding</label>
</div>
ko.bindingHandlers.iChecked = {
init: function (element, valueAccessor) {
$(element).iCheck({
radioClass: "iradio_square-green",
});
$(element).on('ifChanged', function () {
var observable = valueAccessor();
observable($(element)[0].checked);
});
},
update: function (element, valueAccessor) {
var value = ko.unwrap(valueAccessor());
if (value) {
$(element).iCheck('check');
} else {
$(element).iCheck('uncheck');
}
}
};
var ViewModel = function () {
var self = this;
self.fixedPrice = ko.observable(true);
self.allowBiding = ko.observable(false);
};
ko.applyBindings(new ViewModel());
选中单选按钮的工作样本绑定
以防万一,如果您正在查找一个选定的值,请尝试Html元素输入是一个自动关闭标记
,您可以更正它
默认情况下,您的代码工作正常
我认为点击div不是个好主意,因为我们已经选中了单选按钮的选项
更新:您需要使用自定义绑定处理程序来集成iCheck
插件
查看:
<div>
<label>
<input class="radio i-checks" type="radio" data-bind="iChecked: fixedPrice " name="1" value="fixedPrice" />Fixed Price</label>
</div>
<div>
<label>
<input class="radio i-checks" type="radio" data-bind="iChecked: allowBiding " name="1" value="allowBiding" />Allow Biding</label>
</div>
ko.bindingHandlers.iChecked = {
init: function (element, valueAccessor) {
$(element).iCheck({
radioClass: "iradio_square-green",
});
$(element).on('ifChanged', function () {
var observable = valueAccessor();
observable($(element)[0].checked);
});
},
update: function (element, valueAccessor) {
var value = ko.unwrap(valueAccessor());
if (value) {
$(element).iCheck('check');
} else {
$(element).iCheck('uncheck');
}
}
};
var ViewModel = function () {
var self = this;
self.fixedPrice = ko.observable(true);
self.allowBiding = ko.observable(false);
};
ko.applyBindings(new ViewModel());
选中单选按钮的工作样本绑定
以防万一,如果您正在查找选定的值,请尝试您在浏览器中是否收到任何控制台错误?不,我没有收到任何错误它工作正常请检查此处。@supercool它不适用于我。我已经更新了问题。您在浏览器中有任何控制台错误吗?没有,我没有收到任何错误。它工作正常。请检查这里。@supercool它不适用于我。我已经更新了问题。您在浏览器中有任何控制台错误吗?没有,我没有收到任何错误。它工作正常。请检查这里。@supercool它不适用于我。我已经更新了问题。您在浏览器中有任何控制台错误吗?没有,我没有收到任何错误。它工作正常。请检查这里。@supercool它不适用于我。我已经更新了任务“不工作”。我在viewModelself.isFixPriceChecked=ko.observable(“fixedPrice”)中添加了这一行
并将HTML更新为:固定价格
但没有成功数据绑定始终在同一属性上吗?您必须始终引用相同的属性。其中的值是从值属性写入的。樱桃树坏了。我在viewModelself.isFixPriceChecked=ko.observable(“fixedPrice”)中添加了这一行
并将HTML更新为:固定价格
但没有成功数据绑定始终在同一属性上吗?您必须始终引用相同的属性。其中的值是从值属性写入的。樱桃树坏了。我在viewModelself.isFixPriceChecked=ko.observable(“fixedPrice”)中添加了这一行
并将HTML更新为:固定价格
但没有成功数据绑定始终在同一属性上吗?您必须始终引用相同的属性。其中的值是从值属性写入的。樱桃树坏了。我在viewModelself.isFixPriceChecked=ko.observable(“fixedPrice”)中添加了这一行
并将HTML更新为:固定价格
但没有成功数据绑定始终在同一属性上吗?您必须始终引用相同的属性。其中的值是从值属性写入的。我已经复制并粘贴了您的代码,但它不起作用。在发布问题之前,我已经尝试过检查绑定。你们能这样做吗?这是一种标准的方式。让我知道Checked绑定应该与html元素中的值匹配。试着用叉子叉我的小提琴并显示错误&让我们知道任何控制台错误控制台中没有错误。一切都很好<代码>所选值
值根据所选单选按钮进行更改。下一步怎么办?就是这样了@Irfanwat。现在,选中的绑定按预期工作。你还期待什么吗?我已经复制并粘贴了你的代码,但它不起作用。在发布问题之前,我已经尝试过检查绑定。你们能这样做吗?这是一种标准的方式。让我知道Checked绑定应该与html元素中的值匹配。试着用叉子叉我的小提琴