我在mvc中创建了大约4个单独的radiobutton:
using (var img = new MagickImage("image.jpg"))
{
// -fuzz XX%
img.ColorFuzz = new Percentage(10);
// -transparent white
img.Transparent(MagickColors.White);
img.Write("image.png");
}
Radio 3& 4取决于收音机1& 2。
如果有人选择无线电1,则默认选择无线电3,禁用无线电4进行选择。 如果有人选择无线电2,他们可以选择无线电3或无线电4。
第一次默认选择是2号和4号无线电。
我可以通过jquery做到这一点,但不知道如何通过淘汰赛处理这个问题。
请输入任何内容?
答案 0 :(得分:1)
你需要做一些事情。您需要在每个单选按钮的视图模型中使用专用的缺陷observable,并为视图模型中的每个相关单选按钮单击事件创建一个函数,然后将规则放在这些函数中。此外,您还需要rad4上的observable来启用/禁用它。然后,对于每个data_bind属性,添加事件绑定以处理这些单击事件。
您最终的结果视图模型应该如下所示:
var myViewModel = function() {
var self = this;
self.rad1IsChecked = ko.observable();
self.rad2IsChecked = ko.observable();
self.rad3IsChecked = ko.observable();
self.rad4IsChecked = ko.observable();
self.rad4IsEnabled = ko.observable();
self.rad1OnClick = function() {
//Put whatever rules in here that you need, like this...
if (self.rad1IsChecked()) {
self.rad3IsChecked(true);
self.rad4IsEnabled(false);
}
return true; //Need this to propagate click event, so that button works as usual.
}
self.rad2OnClick = function() {
//Put whatever rules in here that you need, like this...
if (self.rad2IsChecked()) {
self.rad3IsChecked(false);
self.rad4IsEnabled(true);
}
return true; //Need this to propagate click event, so that button works as usual.
}
}
你的每个HTML data_bind都应该是这样的:
data_bind = "checked: rad1IsChecked, event: {click: rad1OnClick}"
data_bind = "checked: rad2IsChecked, event: {click: rad2OnClick}"
data_bind = "checked: rad3IsChecked"
data_bind = "checked: rad4IsChecked, enable: rad4IsEnabled"
此外,您可能必须在data_bind前放置一个@,如“@data_bind”。这就是我过去的做法,但我不确定MVC是否需要它。