gpt4 book ai didi

javascript - 多选框无需按住Ctrl键单击

转载 作者:行者123 更新时间:2023-11-29 15:37:35 25 4
gpt4 key购买 nike

我正在使用这个 stackoverflow 帖子中编写的代码

How to avoid the need for ctrl-click in a multi-select box using Javascript?

在许多其他文章中也推荐,无需按住 ctrl 单击即可进行多项选择。

代码:

$('option').mousedown(function(e) {
e.preventDefault();
$(this).prop('selected', !$(this).prop('selected'));
return false;
});

问题是代码在 FireFox 31.0 上不工作。您可以使用以下链接尝试一下

FIDDLE

有人知道解决这个问题的方法吗:)

最佳答案

以下代码适用于 firefox 31.0、IE 10 和 crome 36.0.1985.143。但如果同时使用 CTRL 键,则效果不佳。

 $('select').bind("click", function (event, target) {

event.preventDefault();
var CurrentIndex = event.target.selectedIndex==undefined? $(event.target).index(): event.target.selectedIndex
var CurrentOption = $("option:eq(" + CurrentIndex+ ")", $(this));
if ($(CurrentOption).attr('data-selected') == undefined || $(CurrentOption).attr('data-selected') == 'false') {
$(CurrentOption).attr('data-selected', true);
}
else {
$(CurrentOption).prop('selected', false).attr('data-selected', false);
}

$("option", $(this)).not(CurrentOption).each(function (Index, OtherOption) {
$(OtherOption).prop('selected', ($(OtherOption).attr('data-selected') == 'true') ? true : false);
});
return false;
});

关于javascript - 多选框无需按住Ctrl键单击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25618899/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com