小编Thr*_*mon的帖子

使用正则表达式验证电话号码的敲除验证

我试图使用Knockout-Validation为我的一个observable添加一个简单的正则表达式验证.

我有以下内容:

self.ContactPhone = ko.observable().extend({
            required: true,
            pattern: {
                message: 'Invalid phone number.',
                params: '^\D?(\d{3})\D?\D?(\d{3})\D?(\d{4})$'
            }
        });
Run Code Online (Sandbox Code Playgroud)

但是,无论我输入什么,它都会返回"无效的电话号码"消息.我需要以某种方式格式化表达式吗?我使用纯JavaScript测试它,它工作正常.

knockout.js knockout-validation

6
推荐指数
2
解决办法
2万
查看次数

KO计算不更新UI

我仍然相当新的淘汰赛,我试图显示和隐藏使用淘汰赛的引导标签.

基本上我有一个计算的observable:

self.isActive = ko.computed(function () {
            var selected = ko.utils.arrayFirst(self.padParticipant(), function (item) {
                return item.ParticipationStatus == 'Active';
            });
            return selected !== null ? true : false;
        });
Run Code Online (Sandbox Code Playgroud)

更新这些标签:

<ul class="nav nav-tabs" id="padTabs">
        <li data-bind="fadeVisible: !isActive()"><a href="#joinPad">Join PAD</a></li>
       <li class="active"><a href="#history">History</a></li>
       <li data-bind="fadeVisible: isActive()"><a href="#update">Update Subscription</a></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

计算机正常工作,因为当我刷新页面时,隐藏了正确的选项卡,但是我需要它才能正常工作而不需要刷新.

javascript html5 knockout.js

3
推荐指数
1
解决办法
3185
查看次数

Knockout.js - “html”绑定中的“值”绑定

我正在开发一个需要根据某些值动态生成 HTML 的应用程序。我有以下代码,我希望动态 HTML 在其中运行:

<div data-bind="html: extraHTML"></div>
Run Code Online (Sandbox Code Playgroud)

我在我的 javascript 文件中有一个对象设置,其中包含各种 HTML 代码块,一旦应用程序启动,就会选择这些代码块。例如,对象之一包含以下内容:

{ type: 'Int', html: '<input style=\'margin: 0\'type=\'number\' min=\'0\' data-bind=\'value: selectedExtra, valueUpdate: \'input\'\' />' }
Run Code Online (Sandbox Code Playgroud)

当我运行应用程序时,我没有收到任何错误并且 HTML 被正确绑定,但是当我在输入字段中插入一个值时,可观察的“selectedExtra”不会更新。当我用以下内容替换包含“html”绑定的 div 标签时:

<input style="margin: 0" type="number" min="0" data-bind="value: selectedExtra, valueUpdate: 'input'">
Run Code Online (Sandbox Code Playgroud)

可观察更新就可以很好地做到这一点。我想知道的是,是否可以在“html”绑定中动态分配“值”绑定并实际更新该值。也许我错过了另一个解决方案?

任何帮助将不胜感激,谢谢!

更新

我创建了一个 jsfiddle 来演示这里的问题。

html javascript data-binding knockout.js

2
推荐指数
1
解决办法
2177
查看次数