Tag: knockout.js

淘汰赛:无法处理绑定

我早些时候问过这个问题,但没有得到答案。 我运行代码时收到此错误消息: Uncaught ReferenceError: Unable to process binding “visible: function (){return !editable() }” Message: editable is not defined 可编辑的函数应该切换为true / false,然后在按下按钮时切换到编辑模式。 这个按钮是通过html中的foreach调用的,所以我猜它与我的viewmodel有关。 我从我的getJson得到的输出工作正常,但可编辑的函数以某种方式冲突。 这是我的HTML代码: : Delete 这是我的javascript: function Comment() { var self = this; self.nickname = ko.observable(); self.newMsg = ko.observable(); self.editable = ko.observable(false); self.sendEntry = function () { vm.selectedComment(new Comment()); if (self.newMsg() !== “” && […]

Knockout可排序绑定顺序

这是一个问题的后续跟进: KnockoutJS可排序组observableArray by field和conditionally sort 我正在努力实现另外两件事。 首先,当嵌套列表项被拖动到另一个列表而父项为空时,我想删除父项。 我通过创建一个afterMove函数并检查sourceParent长度是否为0来完成此操作。然后我查看路由以查看是否有任何空任务数组并相应地删除。 我想知道这是否是一个有效的解决方案。 我还必须删除任务,否则任务订阅会在删除计划任务时添加重复项。 其次,最重要的是基础对象(Task)具有order属性。 我想将此绑定到可排序的顺序,以便在Scheduled列表中拖动任务时更新order属性。 如何从可排序的回调中访问其他列表项的顺序? 请看下面这个小提琴 。 任何帮助将不胜感激。

ko.mapping未定义

我遵循这个例子http://jsfiddle.net/rniemeyer/badZb/ 。 我只是将确切的代码复制并粘贴到示例应用程序中,它给了我这个错误:“ko.mapping is undefined”。 有谁知道发生了什么? 我的ko.observable和dependentObservable工作得很好,只是ko.mapping不起作用。 仅供参考:knockout.js版本为2.0,Jquery为1.7.1

使用jQuery 1.9解决2.2.0错误

我复制了一个knockoutjs的例子: JS Bin Participants Here are the participants: Credits: function MyViewModel() { this.buyer = { name: ‘Franklin’, credits: 250 }; this.seller = { name: ‘Mario’, credits: 5800 }; } ko.applyBindings(new MyViewModel()); 当我将jQuery更新到版本1.9时 ,我遇到以下错误: Uncaught TypeError: Object function (e,t){return new st.fn.init(e,t,X)} has no method ‘clean’ 如果有人能解释这个bug是在jQuery还是KO,我会很感激。

为什么在上游发生事件时没有定义“事件”变量?

我偶然发现了一个奇怪的行为。 基本上,我有一个绑定到knockout.js点击事件的函数。 该函数正在利用淘汰赛事件,但没有明确将其作为一个论点。 this.myClickHandler = function(){ console.log(event); //event gets logged in Chrome/IE11, not Firefox } 这看起来很奇怪,但在Chrome中,它按预期工作。 它在IE11中也能正常工作。 但是在Firefox中,它没有运行。 一旦我明确地在所有浏览器中工作。 这是我期望它完全可以工作所需要的。 this.myClickHandler = function(model, event){ //event is second parameter passed from knockout click event console.log(event); //event gets logged in all browsers } 我玩了一下,并用jQuery重现了这个 function func(){ alert(event); } function runFunc(callback){ callback(); } $(document).ready(function(){ runFunc(func); }); 那怎么工作呢? 为什么我可以在某些浏览器中访问名为“event”的变量而不能访问其他浏览器? […]

模板渲染后KnockoutJS绑定事件

我一直在寻找,我很有信心这是一个新问题,而不是像标题所暗示的重复。 🙂 基本上,我正在尝试找出KnockoutJS在使用jQuery模板之类的模板渲染后创建的可订阅事件。 我会使用内置的“afterRender”,但我发现如果清除了可观察数组,它就不会触发。 我构建了这个演示来说明这个问题: http : //jsfiddle.net/farina/YWfV8/1/ 。 另外,我知道我可以写一个自定义处理程序……但这对我需要的东西来说似乎没必要。 我只想在模板完成渲染后触发一个事件。

使用KnockoutJS和Jquery对话框时,jQueryvalidation失败

我有一个在MVC3中使用html.RenderAction呈现的表单。 除此之外我还有一个用于淘汰赛的jquery模板。 使用默认的“data-val-required”属性将模型正确呈现到视图中。 但是我注意到jQueryvalidation总是返回true。 @{ Html.RenderAction(“EditDialog”); } EditDialog partial呈现以下输出: Name 但是,当我调用$(“#frmAddNew”).valid()) ,它总是返回’true’。 我不知道它的淘汰赛,jQuery或mvc是否阻止validation返回false。

Knockout + Jqueryvalidation

我正在尝试使用jquery validate设置validation,并且我已经从服务器返回viewmodel,映射到客户端并成功地使knockout js绑定一些数据。 我包含了一个调用validation,但validation永远不会触发,但是如果我在输入框上放置一个类然后调用有效它触发按预期方式。 有任何想法吗? var viewModel; $(document).ready(function () { $.ajax({ url: ‘Home/GetUserData’, type: ‘post’, success: function (data) { viewModel = ko.mapping.fromJS(data); viewModel.save = function () { sendToServer(); }; ko.applyBindings(viewModel); main(); } }); }); function main() { $(“form”).validate({ rules: { birthPlace: { required: true, minlength: 2 } } }); } function sendToServer() { alert($(“form”).valid()); } […]

是否可以将HTML表单输入标签与SVG混合,或者使用SVG来布局表单?

我们喜欢使用带有SVG的JQuery模板来展示具有漂亮风格的产品。 假设我们有一个代表复杂布局的SVG。 是否可以将标记嵌套在SVG中并仍然在HTML 5中工作? SVG中是否有替代方案可以从用户输入数据,也可以使用Knockout.js提取它们? 我知道你可以在背景图形的意义上使用SVG并破解位置,以便表单字段排列。 如果可能的话,我真的很有兴趣让SVG传入输入语句。

将json提交给MVC3操作

我有一个用Knockout.js创建的表单。 当用户按下提交按钮时,我将视图模型转换回模型并尝试提交给服务器。 我试过了: ko.utils.postJson(location.href, ko.toJSON(viewModel)); 但是当它撞到服务器时,该对象是空白的。 我切换到这段代码: $.ajax({ url: location.href, type: “POST”, data: ko.toJSON(viewModel), datatype: “json”, contentType: “application/json charset=utf-8”, success: function (data) { alert(“success”); }, error: function (data) { alert(“error”); } }); 这会将数据传输到服务器,并在其中包含正确的数据。 但我想要的是提交数据,以便我的控制器可以重定向到正确的视图。 有什么建议?