首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >jQuery敲出单选按钮的动态数组,值必须为布尔值

jQuery敲出单选按钮的动态数组,值必须为布尔值
EN

Stack Overflow用户
提问于 2013-07-24 23:08:54
回答 1查看 418关注 0票数 0

完全卡在这上面了。查看一下,但令人难以置信的是,找不到其他任何可能超过两个单选按钮要求其值为布尔值的单选按钮。

给出如下视图:-

相应的knockout视图模型:

代码语言:javascript
复制
function driver(name, license, maindriver) {
var self = this;

self.DriverName = ko.observable(name);
self.License = ko.observable(license);
self.IsMainDriver = ko.observable(maindriver);

}

我在使用'IsMainDriver‘的实际布尔值发布这些代码时遇到了各种各样的问题。这些选项中的任何一个都必须设置为true。其他参数必须设置为false。我尝试过对下面的html进行各种调整,但毫无进展。一些帖子说真/假被设置为字符串,例如"true“或"false”。我已经尝试了击倒可观察的扩展器,回调,但正如我所说的,到目前为止还没有起作用。有时我得到一个'on‘对于firebug中的'IsMainDriver’是无效的。到目前为止,我所做的最大努力就是使用一个自定义绑定,唯一的问题是,一旦'IsMainDriver‘被设置为true,它就再也不会被设置为false了,所以基本上,尽管在视图中只有一个被“选中”,但在发布时,多行的“IsMainDriver”都被设置为true (希望这是有意义的)。任何帮助都将不胜感激。

代码语言:javascript
复制
<td>
  <input name="mainDriverGroup[]" type="radio" data-bind="checked: IsMainDriver, value:IsMainDriver()" class="required" data-val-required="Please choose the main driver." />
  <span class="field-validation-valid" data-valmsg-for="mainDriverGroup[]" data-val-replace="true"></span>
 </td>
EN

Stack Overflow用户

发布于 2013-07-25 04:04:44

我已经创建了有这个问题的最基本的jsfiddle

由于您只有一个单选按钮,因此我创建了computed observable,用于将布尔值转换为适当的knockout和back值。

代码语言:javascript
复制
    this.IsMainDriverFormatted = ko.computed({
    read: function () {
        if (self.IsMainDriver() === true) {
            return 'on';
        }
        else {
            return 'off';
        }
    },
    write: function (value) {
        if (value === 'on') {
            self.IsMainDriver(true);
        }
        else {
            self.IsMainDriver(false);
        }
    },
    owner: this
    });

在视图中使用了“checked”绑定。

代码语言:javascript
复制
<input name="IsMainDriver" type="radio" data-bind="checked: IsMainDriverFormatted" />
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17837999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档