虽然其他浏览器看起来很好,但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应该阻止它。
感谢您的任何建议。
答案 0 :(得分:2)
您可以选择所有选项并将select
更改为prop
,而不是设置false
的值,而不是:{/ p>
.find('select[id!='+node.attr('id')+'] option').prop('selected', false);
..或两者同时:
.find('select[id!='+node.attr('id')+'] option').prop('selected', false).parent().val('');
答案 1 :(得分:2)
尝试
.each(function(i, element) {
element.selectedIndex = -1;
})
取消选择所有选项(Demo)。或者,代替each
循环,您可以等效地使用.prop("selectedIndex", -1)
(也可以使用.val('')
。)
顺便说一下,根据docs of .val()
,您可以传递一个选项数组(或null
而不是空数组):
.val([]);
(Demo)