首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >通过knckoutjs单选按钮禁用jquery数据报警器

通过knckoutjs单选按钮禁用jquery数据报警器
EN

Stack Overflow用户
提问于 2015-07-06 07:09:54
回答 1查看 63关注 0票数 0

在我的应用程序中的无线电选项返回三个值全天,上午和半天。如何将绑定为只在选中allday时才启用。

代码语言:javascript
运行
AI代码解释
复制
var viewModel = function () {
    this.holidayType = ko.observable();
    this.allday = ko.computed(
        {
            read: function () {
                return this.holidayType() == "allday";
            },
            write: function (value) {
                if (value)
                    this.holidayType("allday");
            }
        }, this);
    this.morning = ko.computed(
     {
    read: function () {
        return this.holidayType() == "morning";
    },
    write: function (value) {
        if (value)
            this.holidayType("morning");
    }
    }, this);
    this.afternoon = ko.computed(
    {
        read: function () {
        return this.holidayType() == "afternoon";
    },
    write: function (value) {
     if (value)
        this.holidayType("afternoon");
    }
    }, this);
};
ko.applyBindings(new viewModel());

$(function () {
    $("#e1").daterangepicker({
        datepickerOptions: {
            minDate: 0
        }
    });
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-06 10:23:43

首先,我在视图模型中添加了一个可观察的名为dateRangeButton的视图。此可观察到的对象将持有由日期范围选择器插件创建的动态生成的jQuery选择器:

代码语言:javascript
运行
AI代码解释
复制
this.dateRangeButton = ko.observable();

然后,我向视图模型添加了一个名为enableDisableDateRange的函数。调用时,此函数将根据disabled是否等于“allday”向日期范围选择器按钮添加或删除holidayType属性:

代码语言:javascript
运行
AI代码解释
复制
this.enableDisableDateRange = function(context) {
    context.dateRangeButton().prop('disabled', context.holidayType() != 'allday');
}

如何获得日期范围选择器按钮?我创建了一个自定义绑定,它将日期范围选择器应用于元素,并填充视图模型中可观察到的dateRangeButton

代码语言:javascript
运行
AI代码解释
复制
ko.bindingHandlers.datePicker = {
    init: function(element, valueAccessor, allBindings, viewModel, bindingContext) {
        // apply the date range picker
        $(element).daterangepicker({
            datepickerOptions: {
                minDate: 0
            }
        });
        // tell the viewmodel where the date range picker button is
        bindingContext.$data.dateRangeButton($(element).next('button'));
        // enable or disable the button
        bindingContext.$data.enableDisableDateRange(bindingContext.$data);
    }
};

我将此绑定添加到将包含日期范围选择器的<input>元素中:

代码语言:javascript
运行
AI代码解释
复制
<input id="e1" name="e1" data-bind="datePicker: ''">

最后,我将一个subscribe添加到可观察到的holidayType中,当enableDisableDateRange函数发生变化时,它将调用该函数:

代码语言:javascript
运行
AI代码解释
复制
this.holidayType.subscribe(function() {
    this.enableDisableDateRange(this);
}, this);

这里有一个小提琴:http://jsfiddle.net/6cfb1dLg/

注意:这都取决于日期范围选择器如何安排它的UI。目前,它直接在应用到的<button>元素之后创建<input>元素。如果这种情况发生变化,那么我编写的datePicker自定义绑定也必须进行修改。自定义绑定还假定视图模型中存在一个可观察的名为dateRangeButton的函数和一个名为enableDisableDateRange的函数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31249365

复制
相关文章
R语言:以多列标准筛选特定行
在本期,我们会运用一个病例数据为大家进行讲解示范,这也是大猫课堂第一次针对阅读者提问进行的反馈,也希望大家能提供一些有趣的问题,来和我们一起分享,同时也感谢读者孤鹜惜秋,与我们分享其问题。话不多说,马上进入正题。
用户7652506
2020/08/12
2K0
R语言:以多列标准筛选特定行
python创建与遍历List二维列表
python 创建List二维列表 lists = [[] for i in range(3)] # 创建的是多行三列的二维列表 for i in range(3): lists[0].append(i) for i in range(5): lists[1].append(i) for i in range(7): lists[2].append(i) print("lists is:", lists) # lists is: [[0, 1, 2], [0, 1, 2, 3,
演化计算与人工智能
2020/08/14
2.4K0
【Python】列表 List ⑦ ( 列表遍历 | 使用 while 循环遍历列表 | 使用 for 循环遍历列表 | while 循环 与 for 循环对比 )
将 列表 容器 中的数据元素 , 依次逐个取出进行处理的操作 , 称为 列表的遍历 ;
韩曙亮
2023/10/11
9810
列表:创建列表
列表是Tcl语言中最重要的一种数据结构。什么是列表?列表是元素的有序集合,各个元素可以包含任何字符串,例如空格,反斜杠,换行符等。列表表现为特定结构的字符串,这意味着可以把它们赋值给一个变量,可以把它们做为参数传给命令,可以把它们嵌套到其他列表中。
Lauren的FPGA
2019/10/30
2.4K0
R语言入门之创建新的变量
‍‍今天,米老鼠想和大家聊聊如何在R中创建新的变量。‍‍一般‍‍‍‍‍‍‍‍‍‍我们可以使用赋值符号 <- 来在数据中创建新的变量。下面我主要介绍三种创建新变量的基本方法
生信与临床
2020/08/06
2.5K0
R语言 数据框、矩阵、列表的创建、修改、导出
数据框来源主要包括用代码新建(data.frame),由已有数据转换或处理得到(取子集、运算、合并等操作),读取表格文件(read.csv,read.table等)及R语言内置数据
Magnolia
2023/01/06
8K0
python 的列表遍历删除
python的列表list可以用for循环进行遍历,实际开发中发现一个问题,就是遍历的时候删除会出错,例如
py3study
2020/01/07
2.4K0
【动手实践】Oracle 12.2新特性:多列列表分区和外部表分区
在Oracle 12.2版本中,增加了大量的分区新特性,这其中包括: 自动的列表分区创建 在线的普通表转换分区表 支持只读分区和读写分区混合 以下介绍的三个特性同样是12.2新增的: 多列列表分区、外部表分区、维护过滤 而对于多列列表分区的支持,也是大家关注已久的特性,先看一下脚本(在 livesql.oracle.com 测试执行,推荐动手实践): CREATE TABLE dba_by_db_in_yhem (dbalic NUMBER, username
数据和云
2018/03/06
1.1K0
【动手实践】Oracle 12.2新特性:多列列表分区和外部表分区
【动手实践】Oracle 12.2 新特性:自动的列表分区创建
2017年来了,我们要启动新的学习征程了。在过去我们一直思考,什么样的内容能够更帮助大家了解和学习到有用的知识? 这个『动手实践』栏目就是这样一个改进和尝试吧,一个小小的范例,几分钟的线上实践(感谢Oracle),就能帮助大家熟悉一个知识点,几个重要的命令。如此是否会有不一样的体验?试一试吧。 ---- 在Oracle Database 12.2 之前,如果使用列表分区,当插入的数据超过了分区列表值设定,则会抛出异常;而如果存在大量的列表值需要定义,则可能需要一一设置。 在12.2引入的新特性中 - Au
数据和云
2018/03/06
1.2K0
【动手实践】Oracle 12.2 新特性:自动的列表分区创建
SharePoint2010新特性:InfoPath定义创建列表的界面
在SharePoint2007的时候,自定义的列表可以使用CAML修改其展示页面,但是对于创建列表的页面,不容易自定义。现在在SharePoint2010中,增强了InfoPath Form Services,我们可以使用InfoPath Designer来快速设置自定义列表的修改和展示页面。
深蓝studyzy
2022/06/16
7200
SharePoint2010新特性:InfoPath定义创建列表的界面
[Excel技巧]创建下拉列表
在单位用Excel做统计,想偷个小懒,比如食品一栏。能不能设计一个下拉列表,直接在列表框中选择,省去键盘的重复输入呢?
卷福同学
2023/04/28
2.3K0
[Excel技巧]创建下拉列表
Ordering列以或更好性能
为减少数据库的存储空间,需要确保对列进行排序,通常最好先放置固定大小的列,然后再添加可变长度的列。
yzsDBA
2021/04/26
3210
Bash遍历字符串列表
大家知道,通过python可以很容易实现各类数据结构,例如列表。但在bash中,实现一个列表相对来说会比较复杂。
zero000
2021/03/23
7.1K0
Bash遍历字符串列表
python基础之列表的遍历
  Python 是一门易于学习、功能强大的编程语言。它提供了高效的高级数据结构,还能简单有效地面向对象编程。Python 优雅的语法和动态类型以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的理想语言。下面我们来介绍一下python列表的遍历相关知识。
jiankang666
2022/06/22
1K0
python基础之列表的遍历
SharePoint 2010 新列表模板列表
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/117742.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/11
7160
SharePoint 2010 新列表模板列表
python for循环如何遍历多个数组 和 遍历list(列表)
i = [1,2,3] o = [4,5,6] for i2,o2 in zip(i,o): print i2,o2 结果: 1 4 2 5 3 6 字典: i = {"1":"123","2":"abc"} o = {"3":"456","4":"def"} for k,v in zip(i,o): print i[k],o[v] 结果: 123 456 abc def =======遍历List======= list = ['html', 'js', 'css', 'p
简单、
2018/07/18
9.7K0
Python创建数字列表
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 10 1 sum is : 55
py3study
2020/01/03
1.3K0
点击加载更多

相似问题

循环遍历R中的列名以创建新列

20

循环遍历列以在R中创建新表

22

循环遍历dataframe以创建新的数据格式

15

遍历多个列以创建新变量

11

如何遍历多个列以创建多个新列。

414
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文