Tag: knockout.js

将Javascript onkeypress转换为knockoutjs以调用enter

我试图在KnockoutJS中做一切,但是我很难将其转换为knockoutjs。 我有一个输入框,在输入时我需要调用addInputName()。 这是我认为这样做的老派方式。 有没有办法在淘汰赛中完成所有这些? self.addInputName = function (inputElement, event) { if (event.keyCode == 13) { $(‘#addInputName’).click(); } };

当我使用动态html两次applyBindings时,Knockout会变得疯狂

我正在创建一个带有淘汰赛的单页应用程序… 我有一个GlobalViewModel来管理所有动态页面(我通过ajax获取html)。 这是我的问题的一个例子: http://jsfiddle.net/zWtrr/7/ 当我加载相同模板2次(在“显示模板”中单击2次)时,敲门声变得疯狂并重复数据…如果检查可观察数组,则没有重复数据。 HTML: show template 脚本: function GlobalViewModel(){ var self = this; self.templateHtml = ko.observable(); self.templateVM = ko.observable(); self.showView = function(){ //i get this html from ajax var pageHtml = “”+ “All” + “Names” + “LastNames” + “NickNames” + “” + ” ” + “” + “”; self.templateHtml(pageHtml) self.templateVM(new ViewModel()) ko.cleanNode(document.getElementById(“template”)) ko.applyBindings(window.gvm, […]

select2更改ajaxurl

我正在使用knockout.js和select2插件。 我试图根据一个observable的值更改select2 ajax url。 例如,如果基于某些选择我执行ajax调用1 url或另一个。 这是一个示例代码: 这是检索sourceUrl:partnerUrl的方式: self.partnerUrl = ko.computed(function () { var value = “”; if (something) { value = apiUrls.customer; } else if (something else) { value = apiUrls.vendor; } else if(or another thing) { value = apiUrls.employee; } return value; }); 我使用自定义绑定。 这是它的代码: // documentation http://ivaynberg.github.io/select2/ ko.bindingHandlers.combobox = { init: function […]

使用knockout.js突出显示表格行

我正在努力学习Knockout。 我想在单击行中的链接时突出​​显示表行。 我很难理解这个的背景,以及淘汰如何与JQuery交互。 我可以像标准的jquery函数一样构建knockout函数吗? Name Cat Size 然后我的视图模型…… function MyViewModel() { this.components = ko.observableArray(); this.selectedComponent = ko.observable(); this.highlightComponent = function(e) { console.log($(this).parents(“tr”)); $(this).closest(“tr”).siblings().removeClass(“diffColor”); $(this).parents(“tr”).toggleClass(“diffColor”, e.clicked); } }

数据绑定单选按钮未进行样式设置

我正在尝试将KnockoutJS与jQuery mobile一起使用,我遇到了一个问题,即数据绑定集中的单选按钮没有被设置样式。 这是一个小提琴 我有一个看起来像这样的简单模型: var vm = { options: [“option1″,”option2″,”option3”] } $(function() { ko.applyBindings(vm); }); 我试着像这样绑定它: 我可以通过检查DOM看到KnockoutJS已经正确地将我的集合转换为(大致)这个(为了清楚起见,删除了数据绑定): option1 option2 option3 如果我静态地放入我的HTML中,它由jQuery Mobile正确设置。 知道这里可能会发生什么吗? 在同一个项目的其他地方,我有一个在列表视图中显示的收集,并且样式很好。 到目前为止,我只在FF中测试了这个。 更新 搜索这个,我发现一些旧信息建议将.checkboxradio()应用于元素以手动设置它们的样式。 我在这做了 $(function() { ko.applyBindings(vm); $(“.boundRadio”).checkboxradio(); }); 这有些帮助,但它们没有像静态定义的按钮那样分组。 每个都有单独的圆角,而不是仅围绕第一个项目的顶角和最后一个项目的底角。

Yii和Knockout在一起?

我正在尝试决定使用一组工具来构建我要构建的新Web应用程序。 我希望它是真正的交互式并使用Ajax工作(即没有页面刷新等)。 它还将为iPhone等移动设备提供UI 我想用PHP,MySQL和JavaScript实现它,主要是因为它我所知道的,我可以轻松地在某个地方托管它 有没有人对我应该使用哪些工具有任何看法? 目前我在想: – 用于PHP – Yii – 用于Javascript – Knockout.js和jQuery – 用于移动设备 – 用于移动设备的jQuery 我唯一担心的是一起使用Yii和Knockout,有两个MVC框架有点矫枉过正吗? 我还应该更多地关注HTML5吗?

未捕获的SyntaxError:实时但不是本地服务器上的意外令牌B.

所以我正在制作一些ajaxpost,它似乎在localhost上正常工作,但当我将它发布到amazon上的ec2服务器时,我得到Uncaught SyntaxError:意外的令牌B.这似乎指向JSON解析失败。 完全相同的数据库,相同的浏览器和相同的方法被调用。 为什么它可以在本地而不是服务器上运行。 $.ajax({ url: ‘@Url.Action(“Action”)’, type: “POST”, data: ko.toJSON(viewModel), dataType: “json”, contentType: “application/json; charset:utf-8”, success: function (result) { }, error: function (xhr, textStatus, errorThrown) { var errorData = $.parseJSON(xhr.responseText); var errorMessages = []; for (var key in errorData) { errorMessages.push(errorData[key]); } toastr.error(errorMessages.join(“”), ‘Uh oh’); } }); 这是服务器端的基本布局: [HttpPost] public JsonResult Action(ViewModel model) { […]

在选择中的更改事件与淘汰赛

我有一个问题如何调用onchanges敲js到我的选择选项,我已经有一个函数和HTML,但当我选择选择选项,没有任何变化 这是我的function setSelectedStation: function(element, KioskId){ this.getPopUp().closeModal(); $(‘.selected-station’).html(element); $(‘[name=”popstation_detail”]’).val(element); $(‘[name=”popstation_address”]’).val(KioskId); $(‘[name=”popstation_text”]’).val(element); // console.log($(‘[name=”popstation_text”]’).val()); this.isSelectedStationVisible(true); },

将Knockout与jQuery混合使用

我正在使用knockout.js创建一个评论系统,我在使用现有的jQuery函数进行模板操作时遇到了一些问题。 一个例子是创建日期评论。 我写了一个jQuery函数,导致数据从5-5-2012变为2 Days ago 。 例如: … $(function(){ $(“.prettyDate”).prettify(); }); 使用此代码,当我动态添加新注释时,日期保持为5-5-2012格式。 还有其他一些自定义jQuery函数可以处理重复数据,这些数据现在由knockout动态创建(通常通过基于类选择)。 如何在knockout.js生成的动态数据上应用这些自定义jQuery函数?

使用Knockoutvalidation插件时,Knockout ViewModel isValid错误

我是新手使用淘汰赛,我正在尝试使用淘汰validation插件和映射插件。 我在视图模型对象上遇到了isValid函数的问题。 根据文档,isValid应该返回一个bool来确定视图模型上的任何可观察对象是否有效但是当我调用它时我得到一个错误,说isValid不是一个函数。 但是,如果我在observables上调用isValid它可以正常工作。 问题是我正在使用映射插件和我从服务器获得的一些动态数据对象,所以我不一定知道我需要validation的observable的名称,因此单独validation它们是不可行的。 以下示例已经过简化,但在实际实现中,我不知道可观察对象的名称。 也许我刚刚错过了一些文档? 谢谢你的时间。 这确实有效 var dataItem = { FirstName: ”, LastName: ”, Age: ”, Email: ” } var viewModel = function(data) { var self = this; this.Email = ko.observable().extend({ email: true }); this.LastName = ko.observable().extend({ required: true }); this.Age = ko.observable().extend({ required: true, min: 0 }); this.saveClick = function () […]