草庐IT

knockout-validation

全部标签

javascript - knockout 变更事件处理程序

我花了几个小时试图让一个简单的事件调用在我的durandal/knockout应用程序中正常工作。上下文我有一个用户可以从选择框中选择的语言列表:属性app.selectedLanguage是一个ko.observable。我知道这行得通,因为已预先选择了正确的项目。this.selectedLanguage=ko.observable(options.defaultLanguage);我还有一个事件处理程序,用于监听该选择框的更改,以便我可以向需要通知的应用程序的其他部分发送消息:languageChanged:function(data,event){console.log(dat

javascript - 获取knockout中被点击元素的索引

获取无序列表点击元素索引的最佳方法是什么?让我举个例子。假设我有以下HTML代码:现在我有以下javascript代码来获取索引:...self.itemClicked=function(data,item){varindex=$(item.target).index();}...但问题是如果目标元素是例如,我得到不正确的结果。那么我应该如何获取被点击的索引元素?Knockout是否有一些方法,或者我应该以某种方式使用jquery? 最佳答案 我建议使用Knockout的$index上下文属性。请参见下面的示例(JsFiddle):

javascript - knockout 启用绑定(bind)不起作用

我无法让启用绑定(bind)在KnockoutJS中工作。将enabled属性设置为false,按钮不会被禁用,我仍然可以点击它。参见fiddlevarViewModel=function(){varself=this;self.enabled=ko.observable(false);self.isVisible=ko.observable(true);self.clicked=function(){alert('Youclickedthebutton');};};$(function(){varmodel=newViewModel();ko.applyBindings(model)

javascript - 我可以在 knockout.js 中创建使用其他绑定(bind)的自定义绑定(bind)吗

我有一个自定义的翻译绑定(bind):ko.bindingHandlers.lang={init:function(element,valueAccessor,allBindingsAccessor,viewModel,bindingContext){this.lang=['text1':'text1translated','text2':'text2translated'];},update:function(element,valueAccessor,allBindingsAccessor,viewModel,bindingContext){varkeyword=valueAcce

javascript - 为 decodeAudioData (WebAudio API) 定义 'valid mp3 chunk'

我正在尝试使用decodeAudioData在javascript中解码和播放较大的mp3文件的初始部分。我的第一个粗略的方法是从mp3的开头切下一些字节并将它们提供给decodeAudioData。毫不奇怪,这失败了。经过一些挖掘后,decodeAudioData似乎只能与FairDinkumThinkum记录的“有效mp3block”一起使用,here.然而,没有关于有效mp3block结构的说明(上述作者没有深入探讨)。我知道那里存在各种mp3分离器,但我想以编程方式处理这个问题。(我正在尝试在服务器端使用nodejs实现一种“穷人的流媒体”)。那么,拆分mp3帧头就足够了吗,还

javascript - 当 Knockout 更新值时不会触发 Change 事件

我有一个外部javascript库,它会触发文本区域的更改、格式化等。但是,当KnockoutJS将值设置为文本区域时,不会触发change事件。SimplifiedFiddleofmyproblem.当Knockout更新我的textarea的值时是否可以触发更改事件? 最佳答案 与其尝试强制Knockout处理更改事件,不如在底层可观察对象上设置订阅。像这样:http://jsfiddle.net/EZC9E/1/this.text.subscribe(function(newValue){alert('Textischangi

javascript - 将 knockout.js observablearray 对象传递给 MVC Controller Action?

我正在使用MVC的knockout。我试图将一个可观察的对象数组从knockout传递回我的MVCController操作以保存到数据库。如果我通过ko.toJSON(viewModel.ArrayName)将Array从knockout传递到我的Controller操作,它在我的Controller参数中返回为null。如果我尝试通过ko.toJS(viewModel.ArrayName)将它传递给MVC,它具有正确数量的项目,但由于某种原因数据为空。任何有关如何执行此操作的帮助将不胜感激。谢谢!我的JQuery数据检索方法:vardataService={};varviewMode

javascript - 如何处理 knockout.js 中的本地化?

您如何使用knockout.js处理本地化?knockback.js似乎有一个漂亮的实用程序来处理本地化,我想知道是否有任何第三方库可以与knockout.js一起使用来处理本地化,而不必实际切换到knocback.js获得这些功能(因为我真的不需要这个简单应用程序的主干模型或路由)。像Mapping插件一样简单易用的东西是最理想的。谢谢!! 最佳答案 这是一个simplefiddle演示两种语言之间的Knockout切换。它非常简陋,但您的问题缺乏任何细节,无法让您更复杂。HTML​View模型varLanguage=functi

javascript - knockout 点击绑定(bind)与javascript确认

我不知道如何创建除非javascript确认对话框返回true,否则不执行valueAccessor的knockout点击绑定(bind)。大概是这样的:Confirmablelink在内部,confirmClick绑定(bind)会做类似的事情:if(confirm(message)){click();}我知道我可以通过将confirm(...)代码放在我的viewModel,但这似乎不是放置此类代码的合适位置。我可能还可以使用jQueryUI或Bootstrap进行这种确认对话框,但我想要一些我可以放入任何项目的东西。我已经在互联网上搜索了,但没有运气。我什至查看了knockout

javascript - Knockout.js - 动态列,但每行最多 5 个

我在这里找到了一个类似的问题/答案:Howtorenderatablewithsomefixedandsomedynamiccolumns但是并没有完全解决我的问题。我试图弄清楚如何将动态列的数量限制为每行5个,如果View模型中的项目超过5个,则创建一个新行并重复数组中所有5个组。例如:varvm={item:{name:'test1'},item:{name:'test2'},item:{name:'test3'},item:{name:'test4'},item:{name:'test5'},item:{name:'test6'}};给那个模型,我怎么得到这个表?test1tes