【发布时间】:2015-02-20 21:07:32
【问题描述】:
我正在尝试编写一个脚本,允许单击按钮更改选择元素中的选定选项。这个脚本在 Chrome 中可以运行,但在 Firefox 中却不行,这是怎么回事?
http://jsfiddle.net/orjan/hsvp7pt8/
var searchOption = $('.container .select-box option:selected').text();
var searchValue = $('.container .select-box option:selected').val();
$('.container').each(function () {
$(this).children('.select-box').attr('value', searchValue);
if ($(this).find('.select-box option:selected').val() == 'articles') {
$(this).toggleClass('active');
}
});
$('.container .select-label').click(function () {
$(this).parent().toggleClass('active');
if ($(this).siblings('.select-box').children('option:selected').val() == 'option-a') {
$(this).siblings('.select-box').children('option:selected').removeAttr('selected');
$(this).siblings('.select-box').children('option[value="option-b"]').attr('selected', 'selected');
var searchValue = $('.container .select-box option:selected').val();
} else {
$(this).siblings('.select-box').children('option:selected').removeAttr('selected');
$(this).siblings('.select-box').children('option[value="option-a"]').attr('selected', 'selected');
var searchValue = $('.container .select-box option:selected').val();
}
$(this).siblings('.select-box').attr('value', searchValue);
});
【问题讨论】:
-
只是一点点,但你的 if-else 会在每个条件下重复第一个和最后一个动作。您可以将它们从 if-else 中提取出来以帮助您进行调试。
标签: javascript google-chrome firefox select