草庐IT

knockout-kendo

全部标签

javascript - knockout : Change css class based on value of observable

我在可观察数组上使用foreach:如您所见,我将可用性的当前值传递给函数availabilityCssClass,该函数将该值与一些预定义的字符串进行比较。根据匹配的字符串,它返回一个类名。self.availabilityCssClass=ko.computed(function(value){varavailability=value;if(availability==="Busy"||"DoNotDisturb"||"BeRightBack")return"leftStatusCellColorOrange";elseif(availability==="Away"||"Off

javascript - 使用 Typescript 和 requirejs 时我应该把我的 Knockout.js 扩展放在哪里

我正在将一些javascript代码移植到typescript并使用requirejs。我有一个config.ts://fileconfig.ts//////require.config({baseUrl:'/scripts/App/',paths:{'jQuery':'/scripts/jquery-1.9.1','ko':'/scripts/knockout-2.2.1','signalR':"/scripts/jquery.signalR-1.0.1",},shim:{jQuery:{exports:'$'},signalR:{deps:["jQuery"]},ko:{deps:

javascript - Knockout js - 获取可观察的字符串长度

这似乎是一个简单的问题,但我似乎无法弄清楚我只需要显示可观察到的字符串的长度。我尝试使用ko.computed()函数实现结果,如下面的代码所示,但它始终返回零。FiddlewithanexampleHTMLThetitleis:Thelengthis:Lengthfromcomputed:JavaScriptfunctionVM(){varself=this;self.title=ko.observable();self.titleLength=ko.computed(function(){returnself.title.length;});}ko.applyBindings(VM

javascript - knockout 映射插件中的奇怪内存泄漏

在View模型是使用knockout.mapping插件创建的情况下,无法弄清楚为什么处理计算的可观察对象不会从全局变量中删除订阅。首先让我们看看直接创建模型时会发生什么://Globalvariable.varEnvironment={currencyStr:ko.observable("usd.")};//Itemmodel,usedintensively.functionItemModel(price){varself=this;this.price=ko.computed(function(){//Computedissubscribedtoglobalvariable.ret

javascript - 如何获取 Kendo Multi Select 的选定值?

我正在使用Kendo多选,但我无法获得选定的值varmultiselect=$("#SelectRoles").data("kendoMultiSelect");varselectedData=[];varitems=multiselect.value();for(varitminitems){selectedData.push(itm);}但数组selectedData返回多选项的索引而不是值。 最佳答案 您还可以将从value()方法返回的数组直接分配给变量,例如:varms=$("#multiselect").kendoMul

javascript - 无法使用新数据对象更新 Knockout UI

当我从服务器获取单个项目的新数据时,我在UI刷新时遇到问题,该项目位于包装对象的observableArray中,该包装对象包含多个可观察对象的对象。考虑以下几点:varvm={....localEdited:ko.mapping.fromJS(newItemWrapper(defaultModelSerialised)),selected:ko.observable(null),editItem:function(data){//cloneatemporarycopyofdataforthedialogwhenopening(*.localEditedondialog)varclon

javascript - 如何检测已在 Kendo UI 网格中创建网格行?

我正在使用从异步调用加载的KendoUIGrid对象(Javascript版本)。行是从行模板创建的,行模板为每一行定义了一些按钮-这些是纯HTMLINPUT元素-所有处理它们的代码都在单独的Javascript文件中。创建网格时(即所有TR元素都已通过Grid控件在DOM中创建)我需要遍历所有行并附加事件各种按钮的处理程序并更新它们的一些属性。我的问题是我不知道网格何时创建DOM元素(TR-s)。我尝试使用已触发的dataBound事件,但尚未创建网格DOM-只能操作响应数据。我还尝试了detailInit事件,但没有触发(我并不感到惊讶-网格没有详细信息项)。我找到了thisTel

javascript - Kendo Grid 数字 chop 到小数点后两位。如何让它尊重用户输入的内容?

在此KendoGriddemo,如果您编辑“库存数量”下的数字并添加多个小数(尝试2.203848),它会将其chop为2.20。看起来这是默认行为。我知道我们可以用{0:n4}指定小数格式,例如。但是如果小数位数未知或者可以变化怎么办?有没有办法让网格使用用户输入的确切数字? 最佳答案 要在网格中进行此操作,您需要使用自定义编辑器。将小数位数设置为足够高的数字,并确保您的字段格式有足够的位置。这个很好的答案here稍微调整一下即可解决您的问题。functionnumberEditor(container,options){$(''

javascript - 使用 Knockout.js 发布集合

我正在编写一个asp.netMVC应用程序,并决定尝试使用Knockout.js来处理动态UI内容。这是一个很棒的框架,到目前为止它对我帮助很大。但我遇到了2个我无法解决的问题,并找到了任何有用的信息。我将从代码开始,向您展示我拥有的东西,然后我将尝试解释我想要实现的目标。C#View模型我的HTML/Razor和knockout模块varProject=function(project){ varself=this; self.Id=ko.observable(project?project.Id:0); self.CustumerCompany=ko.observable(proj

javascript - 你如何观察 Knockout 中的 JavaScript 哈希表?

在我的KnockoutView模型中,我有一些属性,我试图在其中使散列可观察。所以代替我的pre-Knockout代码self.MyHash={};我现在正在使用:self.MyHash=ko.observable({});在我的代码的其他部分,我使用如下语句操作哈希://addanentryself.MyHash()["test"]="MyValue";//removeanentrydeleteself.MyHash()["test"];该代码有效,因为条目已正确添加和删除。但是,哈希表的更改似乎没有被观察它的代码区域检测到。例如,当我更改哈希表时,这个计算的可观察对象永远不会运行: