尽管其他浏览器看起来不错,但IE7对我的10行JavaScript并不友好。
所有(小)代码都可以在此处找到: http://jsfiddle.net/7ngd9/
$(function() {
$('#prepareSpecificProgressModal')
.each(function(index, modal) {
var
modal = $(modal),
form = $('#myform');
form.on('change', 'select', function(){
var node = $(this);
node
.closest('form')
.find('select').not(this)
.each(function(i, element){
element.selectedIndex = -1;
});
});
});
});
我正在使用$(element).val('');
重置选项的选择,但它在IE7下不起作用。基本上,它允许在3个选择中进行多个选择,即使有JS应该防止它。
感谢您的任何建议。
尝试
.each(function(i, element) {
element.selectedIndex = -1;
})
取消选择所有选项(演示)。或者,您可以等价地使用.prop("selectedIndex", -1)
,而不是each
循环(也可以与.val('')
一起使用)。
btw,根据.val()
的文档,您可以通过选项的数组选择(或null
而不是空数组):
.val([]);
(demo)
而不是设置select
的值,您可以选择所有选项,然后使用以下方式将prop
更改为false
.find('select[id!='+node.attr('id')+'] option').prop('selected', false);
http://jsfiddle.net/9npf5/
..或与:
一起做:.find('select[id!='+node.attr('id')+'] option').prop('selected', false).parent().val('');
http://jsfiddle.net/n3jcs/