Ctrlキーを押すことなく、複数選択コンボボックスで複数の項目を選択できるjQueryコードがあります。通常のまたは複数選択のコンボボックスでjQueryがトリガーされるかどうかを検出する必要があります
これは機能しますが、通常の選択ボックスと干渉します。これはマウスでは変更できません。
オリジナルのjQueryのコードは次のとおりです。もちろん
(function ($) {
$(document).ready(function() {
$("option").mousedown(function(e) {
this.selected = ! this.selected;
e.preventDefault();
return false;
});
});
})(jQuery);
、$(「オプション」)セレクタは、それが失敗した理由であるだけでなく、通常の選択ボックスに適用されます。
"multiple"属性の選択ボックスでイベントがトリガーされたかどうかを検出しようとしましたが、その方法がわかりませんでした。これを行うことができる方法の
(function ($) {
$(document).ready(function() {
$("option").mousedown(function(e) {
if($(this).attr('multiple','multiple')) {
this.selected = ! this.selected;
e.preventDefault();
return false;
}
else {
return true;
}
});
});
})(jQuery);
任意のアイデア:以下は、そのうちの一つが、イベントは、オプションで選択していないトリガされたということで、様々な理由のために動作しませんか?
ああ、実際のケースでは同じコードが別のマルチセレクションでも使用されているため、マルチセレクションのIDは含めません。 - おそらくcustom-multiselect
https://jsfiddle.net/mheumann/3zn76mex/
このようなマルチセレクトのすべてのオプションを対象にするのはどうでしょうか? '$( '複数のオプションを選択')' –
ありがとう!なぜ答えを投稿しないのですか? –