我在我的网站中有这样一个组合框,我希望它在用户更改后立即加载一些内容。这是一个简单的有我的国家的每个国家,检查出来:http://jsfiddle.net/tzvyX/.change()在IE中不起作用<select>标签
它发生在IE中,.change()
方法不起作用,我不知道该怎么办来解决它。也许还有其他一些事件监听器?
我在我的网站中有这样一个组合框,我希望它在用户更改后立即加载一些内容。这是一个简单的有我的国家的每个国家,检查出来:http://jsfiddle.net/tzvyX/.change()在IE中不起作用<select>标签
它发生在IE中,.change()
方法不起作用,我不知道该怎么办来解决它。也许还有其他一些事件监听器?
是的,这是一个已知的问题。您必须观察点击事件,并手动检查值是否与以前的值不同。
编辑:这也是来自同一源:
BMAN:为了得到变化()在IE工作,解决方法是:
$(element).change(function() { doChange(); }).attr("onchange", function() { doChange();
});请记住,doChange()函数不应该使用$(this)。
很难说没有一些示例代码会出现什么问题,但这里是jQuery网站中的一个示例,它在IE中工作。 SRC:http://api.jquery.com/change/
<html>
<head>
<style>
div { color:red; }
</style>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
</head>
<body>
<select name="sweets" multiple="multiple">
<option>Chocolate</option>
<option selected="selected">Candy</option>
<option>Taffy</option>
<option selected="selected">Caramel</option>
<option>Fudge</option>
<option>Cookie</option>
</select>
<div></div>
<script>
$("select").change(function() {
var str = "";
$("select option:selected").each(function() {
str += $(this).text() + " ";
});
$("div").text(str);
})
.change();
</script>
</body>
</html>
嗯我有改变IE的问题,但只有单选按钮和onchange。这里是我使用的一些代码,在IE中有效。
$('#NaviDDL').change(function() {
var id = $('#NaviDDL option:selected').val();
if (id == 'default') return true;
location.href=id;
});
我想诀窍是避免在这个实例的IE中使用$(this)。请尝试以下操作:
$('#sctEstado').live('change', function() {
$('.small-loading').show();
$('.conteudo').load('onde_encontrar.representante.php?id='+$("#sctEstado option:selected").val());
});
您的jsfiddle在实际的IE7/8以及IETester模拟IE6/7/8中的工作正常。我会说,你的问题在别的地方。 – BalusC 2010-08-10 20:48:19