我在网上遇到过针对这个问题的各种解决方案。
基本上,我发现必须按住 ctrl 有点俗气,我希望选择列表只选择我单击的任何内容并将其添加到当前选定的项目中。
我已经有了这个代码:
$("select[multiple] option").mousedown(function () {
var $self = $(this);
if ($self.attr("selected")) {
$self.removeAttr("selected", "");
}
else {
$self.attr("selected", "selected");
}
return false;
});
元素:
<select multiple id="WOStatusKey" name="WOStatusKey">
<option value="1">Created</option>
<option value="2">In Process</option>
<!-- etc. (about 20 of these) -->
</select>
它工作正常,但有一个例外:任何时候选择/取消选择不在列表顶部(您必须滚动才能看到它)的内容,然后在您选择它后它会弹回到顶部。我已经玩了一点,但无法想出任何办法来防止这种行为。此外,我已经看到了解决这个问题的其他几个解决方案,尽管没有任何方法可以正常工作或运行良好。
我只需要它在 Chrome 中工作。此外,我对使用选择列表的任何替代解决方案都不感兴趣。
感谢您的任何帮助,非常感谢。