Tag: knockout.js

淘汰嵌套绑定会干扰IE7 / IE8中的jquery点击

它看起来好像在IE7 / IE8中使用Knockout时有一个错误,但它可能是一个已知问题或(甚至更可能)我正在接近错误的东西,需要纠正。 我很感激你们精彩的帮助。 当我使用jQuery的$ .click()将单击处理程序绑定到元素时,如下所示,它通常在IE7 / IE8 / IE9中正常工作。 我遇到问题的地方是元素(在这种情况下是一个按钮,但它也适用于我的测试中的其他元素类型)是在由Knockout绑定的DOM结构内部。 这只发生在IE7 / IE8中,遗憾的是,我在底部共享的jsFiddle链接可能价值有限。 在IE9中(不出所料),行为按预期工作。 这似乎也没有影响没有jQuery绑定的事件(在纯javascript中使用element.attachEvent)。 function jqClickBad() { alert(“nested click() handler bound by jquery”); } // this fires fine in IE9, but not in IE7/IE8: $(“#alertButtonJQBad”).click(jqClickBad); var viewModel = { ContainerObject: { ContainedProperty: “test” } }; ko.applyBindings(viewModel); http://jsfiddle.net/csiefken/WckWb/3/

Knockout js foreach将大数据绑定到逐行模板

我有一个像下面的数据绑定使用knockout和bootstrap css。 我有这个学位编码jSON,让我们说40项。 但在UI方面我只想在每个 第五个应该创建一个新的 并在那里添加内容。 所以如果它正常工作它会有10个 并且每个都有4个项目 我该怎么做这样的模板? 当它到达n mod 4 = 0时它添加一个新的div类行,其中n是来自jsonview的当前项被绑定? 如果有帮助,我可以添加父div > 如果它正常工作它会呈现像…… Degree1 Degree2 Degree3 Degree4 Degree5 Degree6 Degree7 Degree8

Knockout模型+ jQuery UI范围滑块

我正在使用Knockout模型,我希望使用jQuery UI范围滑块更新此模型中的值。 请考虑以下示例: 模型: var ViewModel = function () { var self = this; self.MinTerm = ko.observable(); self.MaxTerm = ko.observable(); } ko.applyBindings(new ViewModel()); 现在,jQuery UI范围滑块应更新这两个值。 这个(非常难看)的解决方案接近了,我的ViewModel中的值正在更新,但不知何故,这不会反映在绑定到这些值的控件中,例如: HTML 脚本: $(“#sliderTerms”).slider({ range: true, min: 6, max: 120, values: [6, 120], step: 1, slide: function (event, ui) { ViewModel.MinTerm = ui.values[0]; ViewModel.MaxTerm = ui.values[1]; } }); 现在,如果我可以绑定到像这样的自定义bindingHandler,那将非常好用,它非常适合将滑块绑定到我的KO模型中的奇异值: ko.bindingHandlers.slider […]

使用挖空模板时,在可折叠菜单中使用jquery eventbinding

我在MVC中有以下视图,我正在尝试渲染可折叠菜单。 @{ ViewBag.Title = “Details”; Layout = “~/Views/Shared/_Layout.cshtml”; } @section Scripts { @Scripts.Render(“~/bundles/jqueryval”) ID# Visit function MyViewModel() { var self = this; self.problems= ko.observableArray(); $.getJSON(“/api/clients/1/history”, self.problems); } $(document).ready(function () { ko.applyBindings(new MyViewModel()); $(‘#usernav’).find(‘ul’).hide(); $(‘li’).live(“click”, function (e) { $(this).children(‘ul’).toggle(); e.stopPropagation(); }); }) } Details 我得到一个显示所有节点的常规列表。 它似乎是$(‘#usernav’).find(‘ul’).hide(); 渲染挖空模板后永远不会触发事件。 我该如何解决?

用于将产品添加到购物车的按钮

我的购物车在这里http://jsfiddle.net/bkw5p/48/ 因为我想在产品上显示一个按钮,用于将该产品添加到购物车中。 例如:当在产品上单击按钮时,它应该添加到购物车而不是拖到购物车我需要一个按钮将该产品添加到购物车 我试过了,但我无法得到它。 请尽快帮助解决这个问题 感谢致敬 s.varun

使用Qtip进行淘汰工具提示

我需要为表格中的特定列提供工具提示。 我的看法: Type Title Test Tool Tip 我已经包含了jquery和jquery.qtip.js。 我写了一个函数来显示鼠标输入的工具提示。 $(‘#qtipselector_01’).qtip({ content: $(‘div#TooltipContent_01’).html(), position: { my: ‘left center’ }, show: ‘mouseenter’, hide: { fixed: true, delay: 500, when: { event: ‘unfocus’ } }, style: { tip: { width: 20, height: 14, }, width:280, height:100, classes: ‘qtipabc’, } }); 主页 它现在不起作用。

通过Knockout模板生成的多个嵌套JQuery UI Accordion无法正确绑定

我正在尝试使用多重嵌套的手风琴控件来使用Knockout,但在添加面板时,通过KO绑定创建的项目不会与手风琴作为新面板绑定。 代码如下所示:     Add Next Item Add SubItem ko.bindingHandlers.accordion = { init: function(element, valueAccessor) { var options = valueAccessor() || {}; setTimeout(function() { $(element).accordion(options); }, 0); //handle disposal (if KO removes by the template binding) ko.utils.domNodeDisposal.addDisposeCallback(element, function(){ $(element).accordion(“destroy”); }); }, update: function(element, valueAccessor) { var options = valueAccessor() || {}, existing = $(element).data(“accordion”); //if […]

knockout js,将新项添加到数组中

所以这是我之前提出的问题: knockout js,向数组中添加其他元素 基本上我有一个应用程序,用户填写某些数据,然后点击下一步,这将添加到一个数组。 但是,我想要做的是在用户开始使用应用程序之前将一些项目添加到数组中(这些项目来自数据库)。 我们的想法是,在开始时,他们可以查看数组中的每个项目,然后选择项目并编辑此项目。 我有一种感觉,我错过了一些令人目眩的明显但我似乎无法弄清楚的事情

使用mvc 3 razor cshtml中的konckout.js创建一个带按钮的网格

大家好我想在mvc 3 razor中使用konckout.js创建网格,我有3列网格第一列应该是按钮,其余列应该从控制器获取数据。事情就是我能够实现所有这一切,但我无法将class或id属性设置为grid中的按钮。我希望该类为“select”,因为按钮的id应该是后续列中的值,以便我可以执行一些客户端脚本使用jquery。 我的cshtml页面是 Buttons 我的viewModel是这样的 var OfficeGrp = function(){ var self =this; self.name = ko.observable(); self.location = ko.observable(); } var OfficeVM = function () { var self = this; self.Office = ko.observableArray([new OfficeGrp()]); self.column1= ko.observable(“Name”); self.column2= ko.observable(“Location”); self.RadioBtnActive = function () { var self = this; self.Office.removeAll(); $.getJSON(urlContent + “Office/GetOfficeGrid”, { param: “true” }, […]

在jQuery UI对话框中,observableArray绑定表不会更新

我正在尝试创建一个带有按钮的页面,当单击该按钮时,会打开一个模式对话框,允许用户搜索产品并将选定的搜索结果添加到订单中。 我已经创建了我认为可以工作的东西( jsfiddle示例 ),但是绑定到observableArray的搜索结果表不会更新。 如果我从 删除data-bind属性,则搜索结果表会正确更新。 此外,我只能通过将JavaScript放在正文(框架选项无包装(正文) )中来获取jsfiddle样本以重复相同的行为,即使脚本在实际实现中的ready()回调期间加载。 我哪里错了? (我在这里发布了所有代码。) 更新: 似乎Knockout foreach绑定无法看到observableArray的更新。 我已经创建了自己的绑定( 更新的jsfiddle示例 )模板,几乎可以满足我的需求,但效果不是很理想。 如何让foreach绑定识别集合何时发生变化?