我遇到以下脚本的问题,
$('#colours li a').click(function(e) {
$('option').attr("selected", false);
var selected = $(this).parent("li");
var colour = selected.attr("class");
colour = colour.replace("rounded ", "");
alert(colour);
$('option[value=' + colour + ']').attr('selected',true);
if($("#" + colour).hasClass("active")) { return; }
var active = $(".active");
var next = $("#" + colour);
$('#colours li').removeClass("active");
selected.addClass("active");
$('option[value=' + colour + ']').attr('selected',true);
e.preventDefault();
});
基本上它的作用是点击它应该在隐藏的选择中选择一个值但是在IE8中这没有发生,为什么会这样?
答案 0 :(得分:1)
通过更改父option
的值,可以更简单地更改所选select
。
$('select').val(colour)
将取代两个attr()
来电。更改select
的值会自动处理selected
更改
attr()
也不是selected
的首选方法,应使用prop()
。这可能是您遇到的问题的根源