使用JQuery从出生日期开始的年龄

我需要使用JQuery来计算某人是否从出生之日起超过18岁。 var curr = new Date(); curr.setFullYear(curr.getFullYear() – 18); var dob = Date.parse($(this).text()); if((curr-dob)<0) { $(this).text("Under 18"); } else { $(this).text(" Over 18"); } 必须有一些更简单的函数来比较日期,而不是使用setFullYear和getFullYear方法。 注意:我想找到一个新方法的实际原因是代码的长度。 我必须将此代码放入一个限制为250个字符的数据库字段中。 更改数据库不是快速或轻松发生的事情。

jQuery将CSRF令牌添加到所有$ .post()请求的数据中

我正在开发一个Laravel 5应用程序,该应用程序默认为所有POST请求启用CSRF保护。 我喜欢这个增加的安全性所以我正在尝试使用它。 在进行简单的$.post()请求时,我收到了’Illuminate\Session\TokenMismatchException’错误,因为POST数据中缺少所需的表单输入_token 。 以下是有问题的$ .post请求的示例: var userID = $(“#userID”).val(); $.post(‘/admin/users/delete-user’, {id:userID}, function() { // User deleted }); 我将CSRF令牌存储为标题中的元字段,并可以使用以下方法轻松访问它: var csrf_token = $(‘meta[name=”csrf-token”]’).attr(‘content’); 是否可以将此附加到所有传出$.post()请求的json数据? 我尝试使用标题,但Laravel似乎没有认出它们 – var csrf_token = $(‘meta[name=”csrf-token”]’).attr(‘content’); alert(csrf_token); $.ajaxPrefilter(function(options, originalOptions, jqXHR){ if (options[‘type’].toLowerCase() === “post”) { jqXHR.setRequestHeader(‘X-CSRFToken’, csrf_token); } });

如何重新发送失败的ajax请求?

我有多个ajax请求,每分钟一些请求数据由用户通过ui启动。 $.get(‘/myurl’, data).done(function( data ){ // do stuff.. }); 由于身份validation失败,请求可能会失败。 我已经设置了一个全局的.ajaxError()方法来捕获任何失败的请求。 $(document).ajaxError(function( e, jqxhr ){ // Correct error.. }); 在我发现错误后,我重置了授权。 重置授权有效,但用户必须手动重新启动ajax调用(通过ui)。 如何使用最初发送的jqxhr重新发送失败的请求? (我正在使用jQuery for ajax)

jQuery focus()有时候在IE8中不起作用

我正在使用jQuery开发webapp。 我有添加3行输入字段的新function。 创建这些DOM元素后,我想要关注一个输入字段。 我在必要的输入字段上调用jQuery focus()函数。 问题是调用focus()在IE6和FF3.5中工作正常,但在IE8中不起作用。 我试图在这里显示这个问题的简单工作示例,但使用剥离版本的代码focus()工作正常。 所以我的猜测是,当我在IE8中调用focus()时,DOM还没有准备好。 为此,我尝试调用setTimeout(’myFocus()’,400)。 我取得了成功,在某些情况下,重点确实在起作用,但仍然并非总是如此。 随机它不会聚焦我的输入字段。 问题是:是否有人遇到类似的问题,是否有人知道如何解决它? 使用setTimeout感觉非常难看的解决方法。 Tnx提前 编辑:26.08.2009 成功复制简单的例子。 这是HTML + JS代码,它在IE8上重现了这个bug。 function performChanged() { formChanged = true; } function handleChange() { var parentDiv = $(‘#container’); newValue = $(html).html(); parentDiv.html(newValue); $(“.sel1”,parentDiv).bind(‘change’,handleChange); //alert(‘Uncomment this and after alert focus will be on input’); $(“input.cv_values”,parentDiv).focus(); } $(document).ready(function() { $(‘.trackChange’).bind(‘change’, handleChange); }); […]

用于创建新元素的Mutation Observer

我正在尝试在创建特定div时使函数关闭。 用最简单的术语来说,我有这样的事情: Click me! $(“#foo”).live(“click”,function(e) { e.preventDefault(); $(this).append($(“”).html(“new div”).attr(“id”,”bar”)); }); 以前,我有变异事件听取div#bar的创建 – 这样的事情: $(“#bar”).live(“DOMNodeInserted”, function(event) { console.log(“a new div has been appended to the page”); }); 是否有使用Mutation Observers的等价物? 我尝试了attrchange.jsfunction, 你可以在DOM元素的样式对象更改后有一个javascript钩子触发器吗? 但该插件仅检测元素何时被修改,而不是何时创建。

点击链接javascript停止所有播放iframevideo

我的网页上有一个iframevideo列表。 Stop all videos 我需要停止所有播放iframevideo点击链接Stop all videos 。 我怎样才能做到这一点?

从ASP.NET MVC Action返回部分视图和JSON

我正在将KnockoutJS引入现有应用程序。 我的计划是修改/利用我们已经创建的现有部分视图,并使用Knockout的声明属性将它们绑定到JS视图模型。 当我对一个动作进行AJAX调用时,理想情况下我希望该动作返回局部视图的HTML和JSON对象。 然后我可以用HTML填充div,将JSON转换为Knockout对象并将其绑定到HTML。 但我无法弄清楚如何从行动中返回两者。 我需要完整的视图模型,因为我将更新它并最终将其发送回服务器。 我想过让动作返回局部视图(已绑定到模型),并在局部视图中,包含javascript以将.Net模型转换为Knockout对象。 但是我觉得像这样分散JS是混乱而且不可维护的。 我宁愿让一切都接近原来的ajax调用。 我想另一个选择是进行两次动作调用。 一个用于JSON,另一个用于局部视图。 但必须有一个更光滑的方式。 关于如何最好地做到这一点的任何想法?

如何使用jquery将无序列表转换为格式精美的下拉列表?

如何以此格式转换无序列表 one two three four five six seven 进入这种格式的下拉列表 one two three four five six seven 使用jQuery? 编辑:从选择/下拉列表中选择条目时,链接应自动在新窗口或选项卡中打开。 我也希望能够设置它的样式: http : //www.dfc-e.com/metiers/multimedia/opensource/jqtransform/

单击禁用的输入或按​​钮

是否可以单击禁用的按钮并向用户提供一些反馈? HTML: 和JavaScript: $(‘input’).mousedown(function(event) { alert(‘CLICKED’); }); 上面的代码对我不起作用; 这不是: $(‘input’).live(‘click’, function () { alert(‘CLICKED’); });

获取输入元素的像素的光标或文本位置

IE允许我在输入元素中创建一个文本范围,我可以在其上调用getBoundingClientRect()并获取某个字符或光标/插入符的像素位置。 有没有办法在其他浏览器中以像素为单位获取某个角色的位置? var input = $(“#myInput”)[0]; var pixelPosition = null; if (input.createTextRange) { var range = input.createTextRange(); range.moveStart(“character”, 6); pixelPosition = range.getBoundingClientRect(); } else { // Is there any way to create a range on an input’s value? } 我正在使用jQuery,但我怀疑它能否解决我的问题。 我期待一个纯JavaScript解决方案,如果有的话,但欢迎jQuery的答案。