Tag: knockout.js

Asp.net Web表单和淘汰赛 – 维护状态

我试图在我的asp.net向导中维护状态,该向导使用带有隐藏字段的knockout。 我将文本框和DDL用户选择的值保存到页面上的隐藏字段。 当用户遍历回此网页时,我使用隐藏字段将控件填充回以前选择的值。 问题:我能够使用先前选择的值填充UI文本框字段(控件ID – BasicSwitchName),但不能使用任何DDL控件(控件ID – BasicSwitchManufacturer)填充,除非我在其间使用警报。 **昏死 ** var Hardware = function (name, manufacturerID) { var self = this; self.name = ko.observable(name); self.manufacturerID = ko.observable(manufacturerID); } self.currentHardware = ko.observable(new Hardware(1)); 填充UI控件 **UI** and Populating Previously selected values. $(document).ready(function () { PopulateEnteredInfo(); **//Alert that is making it work.** alert(‘Please Ensure – Basic Hardware Functionality […]

动态返回类型不起作用但jsonresult返回类型工作

我遇到了一个我不知道如何解决的问题。 我有一个简单的控制器,其返回类型是动态但不起作用。 public dynamic GetPosts() { var ret = (from post in db.Posts.ToList() orderby post.PostedDate descending select new { Message = post.Message, PostedBy = post.PostedBy, PostedByName = post.ApplicationUser.UserName, PostedByAvatar = _GenerateAvatarUrlForUser(post.PostedBy), PostedDate = post.PostedDate, PostId = post.PostId, }).AsEnumerable(); return ret; } 如果我将此动态返回类型更改为JsonResult并替换return ret以返回Json(ret,JsonRequestBehavior.AllowGet); 它会工作。 在我使用web api控制器之前它运行良好的动态返回类型,但不知何故,我面临一些问题,所以我决定使用普通控制器。 我有一个淘汰视图模型,其工作是动态地将post和评论附加到视图页面上。这样的事情— function viewModel() { var self = this; self.posts […]

如何使用knockout点击按钮从多个textareas和单选按钮获取输入?

我有几个textareas和单选按钮,它们是在ko: foreach绑定中动态生成的。 当用户决定输入完成后,他们会点击一个“确定”按钮,它会获取textareas的所有输入和他们选择的单选按钮的值,并且它应该触发对服务器的ajax调用,因为输入需要存储在数据库中。 每个textarea和radiobutton值都是单独存储的,因此需要将它们作为标识值发送到服务器。 鉴于foreach绑定,我一直遇到很多麻烦,所以我不知道从哪里开始因为textareas没有可访问的唯一标识符,因为它们是使用foreach生成的。 谢谢。 所以,简单来说: 用户键入多个textareas并单击单选按钮。 完成输入后,用户单击“确定”按钮。 按钮单击function可检索所有textareas和单选按钮值中的用户输入。 触发ajax调用并将值发送到服务器。 任何帮助表示赞赏或链接到我可以遵循的任何资源。 我的谷歌搜索并没有完全回答我的问题。 图片: 服务器: //retrieves form data from the client and serialized it if (Request.HttpMethod == “POST”) { // get json out of body var serializer = new JsonSerializer(); var sr = new StreamReader(Request.InputStream); var jtr = new JsonTextReader(sr); dynamic data = serializer.Deserialize(jtr); if […]

如何保持服务器加载的数据不被Knockout JS在页面加载时“消隐”?

我正在努力了解Knockout JS。 困扰我的是我绑定的数据被消隐了 。 这很烦人,因为我想显示我从服务器检索的数据。 一个例子: Name: name; ?> 结果是: Name: John B 现在,如果我使用Knockout将其数据绑定到此: Name: name; ?> 结果是: Name: JS将是这样的: var viewModel = { name: ko.observable() // Initially blank <— this is the culprit }; ko.applyBindings(viewModel); 那么为了显示/保存数据我需要做什么? 难道Knockout以某种方式保留像Angular JS这样的数据吗? 注意我正在使用Yii MVC框架来处理许多服务器端的东西。 使用它来加载页面加载数据,使我免于编写大量的JS Ajax代码。 我想使用Knockout来减少我拥有的jQuery代码量,而不是添加它:)

Bootstrap Timepicker不显示

我有一个模态窗口,我有一个表,用户可以选择时间。 在这个例子中,我能够让timepicker在表内工作。 $(‘.timepicker’).timepicker().on(‘changeDate’, function(ev){ $(‘.timepicker’).timepicker(‘hide’); }); 但是,在此示例中 ,时间选择器未显示。 没有例外被抛出。

创建元素后运行回调

问题:我正在通过JS模板系统创建一个元素。 在该模板中,我指定了一个ID。 创建该ID之后,有没有办法使用jQuery在创建特定元素时触发回调? 带Knockoutjs的示例JS / HTML: function Dialogs(){ this.createDialog = function(id){ //alert(‘creating dialog’); // If i add a setTimeout here, it will work. $(“#” + id).dialog({ autoOpen: true, resizable: false, width: 360, height: 200, dialogClass: ‘systemError’, modal: true, closeText: ‘hide’ }); }; this.data = ko.observableArray([ new Dialog(“Demo”, ‘htmlContent’, { id: ‘testDialog’, success: function() {}, error: […]

项目选择使用KnockoutJS的MVC视图

我正在尝试实现一个通用的ASP.net MVC视图。 UI应显示从服务器加载数据(基本上是字符串列表)的可用和选定项目的列表。 用户可以对列表进行更改,即可以从可用项目列表中选择新项目,也可以从选定列表中删除项目。 我想使用KnockoutJS来利用绑定。 我设法完成所有工作,除了在可用列表中初始化视图时将所选项目显示为已选中。 例如,如此处所示 我尝试了各种选项( 使用模板(最接近我想要实现的) , Checked attr , 可能的选项 ),问题是如果我设法显示项目检查了一些其他function中断。 尝试定义一个模板,但无法让它在我的情况下工作。 HTML: 0″>Available countries: 0″> 0″>Selected countries: 0″> Delete JS: var initialData = [ { availableItems: [ { title: “US”, isSelected: true }, { title: “Canada”, isSelected: false }, { title: “India”, isSelected: false }] }, { selectedItems: [ { […]

使用KnockoutJS按日期分组事件

更新 :我为我的问题提供了最佳答案。 随意提高可读性和/或效率。 问题 :在我的requireJS设置中使用fullcalendar.io,在每个next / prev / view更改的日历上填充Event对象(从对.ashx处理程序的AJAX调用接收)。 我想在回调上使用该JSON对象来创建由startDate属性分组的事件列表。 我做了什么 在日历更新(例如新月)中,我能够设置基本ViewModel以使用可观察数组填充新的事件列表。 唯一缺少的部分是group by,例如这个例子。 由于我希望按事件对象的开始日期进行分组,然后按开始日期对每个组进行排序,我不确定应采取的最佳实践,例如是否有必要将我的JSON数据转换为对象。 随着我的了解,我会继续更新这篇文章。 我没有使用链接示例的原因是因为我不理解处理程序背后的完整术语,但是在这一点上确实理解了一些像$ root这样的关键字。 AJAX调用和requireJS模块加载 :fullcalendar var fullCalendar = “.calendar-module”, viewModel; function initFullCalendar() { $(fullCalendar).fullCalendar({ events: { url: ‘/Presentation/DotGov/test/fullcalendar/GetEvents.ashx’, type: ‘POST’, success: function (data) { // bind events to KO ViewModel object viewModel.events(data); } }, }); } // requireJS module load […]

KnockoutJS必需/禁用属性未删除

所以我有一个淘汰赛原型,你动态添加输入,然后设置他们自己的设置。 将其视为表单构建者就是这样。 但是,我注意到禁用和必需function不是很好。 它将值设置为disabled或required,但是当我将其设置为false时,它仍然保留在没有状态的元素上,导致它仍然起作用。 请任何人可以帮助或给予指导。 HTML Here be draggables! ADD TEXT INPUT JS $(function(){ var InputItem = function InputItem(label, type, name, placeholder, disabled, value) { this.label = ko.observable(label); this.type = ko.observable(type); this.name = ko.observable(name); this.placeholder = ko.observable(placeholder); this.disabled = ko.observable(disabled); this.value = ko.observable(value); } var ViewModel = function ViewModel() { var that = this; this.inputItems […]

在knockout js的optionsText绑定中编码HTML

我正在尝试使用选项绑定在knockout js中创建一个带有html编码选项的下拉列表。 如何解码从绑定到optionsText绑定的函数返回的文本。 通常,我需要一个函数,它接受编码的html字符串并返回解码的文本。 即函数需要类似的东西 blah blah balh TM 并返回 blah blah blah™