Jquery HTML onChange用于选择不在IE上工作

Jquery HTML onChange用于选择不在IE上工作,jquery,html,internet-explorer,Jquery,Html,Internet Explorer,我正在用PHP和jQuery开发一个表单 以下是链接: 它在Firefox上运行良好,但在IE上不起作用 你能给我什么建议 谢谢您的页面非常复杂,到处都是剪切和粘贴的代码,很难知道您想要演示的到底是什么问题。但只要浏览一下脚本,就会发现您正在嗅探addEventListener,尤其是IE,并且对每一个都做完全不同的事情,其中很多都被简单地注释掉了。那么你期待什么呢 $('select#cbxMeses').attr('onchange', "javascript:fn_mesSeleccio

我正在用PHP和jQuery开发一个表单

以下是链接:

它在Firefox上运行良好,但在IE上不起作用

你能给我什么建议


谢谢

您的页面非常复杂,到处都是剪切和粘贴的代码,很难知道您想要演示的到底是什么问题。但只要浏览一下脚本,就会发现您正在嗅探
addEventListener
,尤其是IE,并且对每一个都做完全不同的事情,其中很多都被简单地注释掉了。那么你期待什么呢

$('select#cbxMeses').attr('onchange', "javascript:fn_mesSeleccionado()");
这显然是错误的。首先,因为事件处理程序属性在开始时不应该有
javascript:
(这仅适用于
javascript:
伪URL,也应该永远不要使用它)

但在任何情况下,这都不是将事件处理程序附加到元素的正确方法;它在IE中不起作用,而且将JS代码放在字符串中既丑陋又低效。使用函数(函数名或内联
function(){…}
)和jQuery的事件绑定方法之一

$(document).ready(function() {
    $('#cbxMeses').change(fn_mesSeleccionado);
    $('#cbxAnos').change(fn_anoSeleccionado);
    ...
});

这在任何地方都有效!根本不需要嗅探浏览器

您的页面非常复杂,到处都是剪切和粘贴代码,很难知道您到底想演示什么问题。但只要浏览一下脚本,就会发现您正在嗅探
addEventListener
,尤其是IE,并且对每一个都做完全不同的事情,其中很多都被简单地注释掉了。那么你期待什么呢

$('select#cbxMeses').attr('onchange', "javascript:fn_mesSeleccionado()");
这显然是错误的。首先,因为事件处理程序属性在开始时不应该有
javascript:
(这仅适用于
javascript:
伪URL,也应该永远不要使用它)

但在任何情况下,这都不是将事件处理程序附加到元素的正确方法;它在IE中不起作用,而且将JS代码放在字符串中既丑陋又低效。使用函数(函数名或内联
function(){…}
)和jQuery的事件绑定方法之一

$(document).ready(function() {
    $('#cbxMeses').change(fn_mesSeleccionado);
    $('#cbxAnos').change(fn_anoSeleccionado);
    ...
});
这在任何地方都有效!根本不需要嗅探浏览器

我刚刚解决了这个问题

解决办法是不要做以下事情:

$('select#cbxMeses').attr('onchange', "javascript:fn_mesSeleccionado()");
。。。这样做:

var select1 = document.getElementById("cbxMeses");
select1.changed = false;
select1.onchange = fn_mesSeleccionado;
显然,IE试图在呈现所有DOM元素之前执行所有JavaScrpit代码。

我刚刚解决了这个问题

解决办法是不要做以下事情:

$('select#cbxMeses').attr('onchange', "javascript:fn_mesSeleccionado()");
。。。这样做:

var select1 = document.getElementById("cbxMeses");
select1.changed = false;
select1.onchange = fn_mesSeleccionado;

显然,IE试图在呈现所有DOM元素之前执行所有JavaScrpit代码。

什么不起作用?它在Firefox和IE中适用于我。总是包括你遇到问题的IE版本,有许多引擎在使用和广泛使用,每个引擎都有各种各样的怪癖。如果你说的是当你从列表中选择时出现的复选标记,那么它在IE8、IE7和怪癖模式下适用于我。您是否还希望出现其他行为?在HTML中使用jQuery向multiple SELECT添加侦听器时,我遇到了一些问题。这些事件从未在IE上添加或触发…什么不起作用?它在Firefox和IE中适用于我。总是包括你遇到问题的IE版本,有许多引擎在使用和广泛使用,每个引擎都有各种各样的怪癖。如果你说的是当你从列表中选择时出现的复选标记,那么它在IE8、IE7和怪癖模式下适用于我。您是否还希望出现其他行为?在HTML中使用jQuery向multiple SELECT添加侦听器时,我遇到了一些问题。这些事件从未在IE上添加或触发…我已经找到了解决方案。。。问题是因为在IE上使用脚本时出现了问题。IE在加载所有DOM之前尝试执行JS脚本,,,所以我通过jQuery添加到一些SELECT元素的事件侦听器不起作用,但现在它们已。。。顺便说一句如果在侦听器上放置带有函数名的字符串没有什么不好的地方。。。是萨米人已经找到了解决办法。。。问题是因为在IE上使用脚本时出现了问题。IE在加载所有DOM之前尝试执行JS脚本,,,所以我通过jQuery添加到一些SELECT元素的事件侦听器不起作用,但现在它们已。。。顺便说一句如果在侦听器上放置带有函数名的字符串没有什么不好的地方。。。都一样