我的页面上有一个选择框,除了IE之外,它在每个浏览器中都能很好地工作。我已经在8和9上测试了,我也有同样的问题。当我单击一个选项时,.change()事件就会发生,就像它应该一样,但选项不会消失,直到我再次点击(没有触发点击事件,奇怪) ,或单击选择框外部。这对我来说没问题,因为我使用chrome,但是我的用户中有相当一部分使用IE8。
这是.change()函数:
$('#configEquipDesc').change(function () {
alert($(this).val());
if ($(this).val() != 'unselected') {
ajaxGetConfig($(this).val());
}
});
这是select的HTML。
<select name="configEquipDesc" id="configEquipDesc" data-native-menu="false" data-inline="true" class="configMenuEquip">
<option value="unselected" data-placeholder="true">Inspection</option>
</select>
使用ajax添加了更多选项,这一切都完美无缺。
答案 0 :(得分:0)
如果这是一个动态创建的选择框,我怀疑它是,你需要使用delagation。尝试将jQuery更改为:
$('body').on('change','#configEquipDesc', function () {
ajaxGetConfig($('option:selected', this).val());
});
并查看是否可以解决您的问题。
编辑 - 这是你试图获得价值的selected option
,对吗?不是select语句本身。所以,这里有一个小技巧,只抓取所选选项并将其发送到您的ajaxGetConfig()
功能!!