Tag: javascript

主干集合提取不会触发重置()

这是我对集合的看法 var mssg = mssg || {}; mssg.MessagesView = Backbone.View.extend({ el: ‘#messages’, initialize: function() { this.collection.fetch(); this.collection.bind(‘reset’, this.render, this); }, render : function() { this.$el.html(”); this.collection.each(function( item ) { this.renderMessage( item ); }, this ); return this; }, renderMessage : function( item ) { var messageView = new mssg.MessageView({ model : item }); this.$el.append( messageView.render().el […]

将css width string转换为常规数字

在尝试计算隐藏元素的宽度时,我发现jquery.width()为该元素的宽度返回0。 我发现使用jquery.css(’width’)会通过使用声明的样式宽度返回正确的宽度(即使该值与初始样式表不同)。 问题是css(’width’)方法返回一个字符串,通常是“100px”方式。 我的问题解决了:如何从“100px”字符串中检索数字? 有一个简单的方法吗?

如何在Javascript / jQuery中重置超时?

我的网页中有一个字段A,当用户编辑时,调用API调用(使用jQuery),更新字段B.编辑后,应每隔10秒调用一次API以再次更新字段B. 。 我目前这样做使用: setTimeout(thisFunction, 10000); 问题是每次用户编辑字段A时都会设置此超时,在编辑字段A几次后会导致多次设置超时并且API被多次调用。 这使得网站看起来非常紧张。 我想要做的是,每次编辑字段时都设置一个新的超时,无论是用户编辑字段A,还是间隔达到10秒,从而轮询API。 换一种说法; 如果字段B未更新10秒或更长时间,则应更新该字段。 最后,如果用户然后单击按钮C,则轮询应该停止。 所以我的问题; 如果该字段B没有更新10秒或更长时间,如何运行一个更新字段B的函数?如何在我想要的时候停止轮询(当用户点击另一个按钮时)欢迎所有提示!

dataTable fnUpdate具有新值的行

我正在使用datatables并在table有这个tr元素 3692 koza 2013-12-31 2014-02-06 FULL packet NONE Name 我想使用fnUpdate函数更新第1和第4个td元素。 我曾尝试仅更新一个td但它没有更新。 在Chrome中,控制台日志我收到此错误: 未捕获的TypeError:无法设置未定义的属性’_aData’ 这是我尝试过的: // dynamically update row $(‘#example’).dataTable().fnUpdate( [‘Zebra’], parseInt(‘3692’)); 3692是td元素的id,用于知道我需要更新哪一行,并且zebra是要更改的值。 我知道我没有包括要更新的单元格,但我不知道该怎么做。 在datatables api上,给出了以下示例: oTable.fnUpdate( [‘a’, ‘b’, ‘c’, ‘d’, ‘e’], 1 ); // Row

用户单击按钮时,在输入字段中添加一串文本

基本上只是尝试将文本添加到已经包含值的输入字段..触发器是一个按钮.. 在我们点击按钮之前,表单字段看起来像..(用户输入了一些数据) [This is some text] (Button) 单击按钮后,字段看起来像..(我们after clicking当前值after clicking添加) [This is some text after clicking] (Button) 试图只使用javascript完成..

隐藏与删除DOM元素

隐藏与删除 处理DOM元素,隐藏或删除的最佳方法是什么? 假设环境可以改变几次。 元素可以具有单击回调或其他事件回调。 隐藏 隐藏什么是最好的? 如果单击按钮隐藏多个项目,您可以逐个隐藏,或者您也可以创建css规则来执行此操作。 选项1: .superContent{/*…*/} .superContent.noEdit .occultable{ display:none; } Name Edit $(“#hideAll”).click(function(){ $(“.superContent”).toggleClass(“noEdit”); }); http://jsfiddle.net/p8mU8/ 另一种选择是隐藏所需的项目(这些项目可能很少或很多): 选项2: $(“#hideAll”).click(function(){ $(“.occultable”).toggle(); }); http://jsfiddle.net/JAmF9/ 去掉 要修改DOM,您还可以删除不需要的项目,并在以后重新插入。 选项3: Name Edit​ $(“#hideAll”).click(function(){ if( $(“.superContent”).find(“#sendbutton”).length>0 ){ $(“.superContent”).find(“#sendbutton”).remove(); } else{ $(“.superContent”).append(”); } });​ http://jsfiddle.net/Yj5Aw/ 这些只是一些小例子。 假设UI包含大量元素。 你认为最好的选择是什么? 哪个内存泄漏少,性能更高? 有一些像kendo-ui这样的javascript框架可以删除元素。 jQueryUI更喜欢隐藏项目,但是窗口小部件Tab sortable可以创建用户临时拖动的选项卡。

Video.js在播放时进入全屏

我一直在寻找很长一段时间,但仍未找到解决我问题的有效方法。 我似乎无法让video播放器进入全屏。 API确实有很多例子,但它们似乎都不起作用。 我目前正在处理的页面上包含的jQuery版本是1.8.2。 此外,我正在使用parallax-1.1.js和它正常工作所需的库,因此这也可能是一个问题。 我工作的客户希望网站具有响应式设计, 当点击“播放”按钮时,播放器能够直接进入全屏 。 此function应该可以在桌面和移动/平板电脑浏览器上使用。 在video页面上,应该有3个video播放器,每个video播放器都有唯一的ID,并且它们也有一个共同的CSS类。 我试过的一些代码效果不好。 这是一个控制其中一个videoHTML标记的JS代码段示例。 例: player1 = _V_(‘video-1’); player1.on(“play”, function () { this.requestFullScreen(); }); player1.on(“ended”, function () { this.cancelFullScreen(); }); 代码生成此错误: Uncaught TypeError: Object [object Object] has no method ‘requestFullScreen’ 我正在使用最新版本的Google Chrome。

来自ajax调用的symfony中的表单validation

我需要通过ajax存储来自symfony的表单中的数据,而不是更新浏览器。 此外,我需要你,如果字段中的错误可以某种方式让他们响应该调用Ajax并显示我的表单错误,所有这些都没有刷新页面。 我有一个带有symfony资产的表单来validation字段,如果执行ajax调用,将所有内容都完美,存储数据或更新显示错误的页面,但我需要相同而不刷新页面。 然后我放了一些我正在使用的代码: 控制器: public function createAction(Request $request) { $entity = new Student(); $form = $this->createCreateForm($entity); $form->handleRequest($request); if ($form->isValid()) { $em = $this->getDoctrine()->getManager(); $em->persist($entity); $em->flush(); return $this->redirect($this->generateUrl(‘student_show’, array(‘id’ => $entity->getId()))); } return $this->render(‘BackendBundle:Student:new.html.twig’, array( ‘entity’ => $entity, ‘form’ => $form->createView(), )); } ajax调用:( 我不明白如何处理错误部分) $(‘.form_student’).submit(function(event) { event.preventDefault(); $.ajax({ type: ‘POST’, url: Routing.generate(‘student_create’), data: $(this).serialize(), […]

如何使一组复选框互斥?

我必须制作相互冲动的复选框。 我遇到过很多例子,它给出了一个复选框组的例子。 一个例子是http://blog.schuager.com/2008/09/mutually-exclusive-checkboxes-with.html 。 在我的情况下,我在同一页面上有许多复选框组,所以我希望它像这个例子一样工作。 这里有一个asp.net代码隐藏示例 ,但我想在客户端代码中执行此操作。 我怎么能用JavaScript做到这一点? 我决定使用ajax互斥复选框扩展器。 到目前为止给出的解决方案基本上是基于单选按钮。 这个链接真的帮了我.. http://www.asp.net/ajax/videos/how-do-i-use-the-aspnet-ajax-mutuallyexclusive-checkbox-extender

如何从FormData中删除值

这是一种append文件append到FormData : var data = new FormData(); jQuery.each($(‘#file’)[0].files, function(i, file) { data.append(‘file-‘+i, file); }); 可以这样做吗? data[i].remove();??? or data[i] = file;?? iI如何从data删除或修改值