jquery ui の選択可能なウィジェットで、Ctrl キーを押しながら (またはボックスをドラッグして) 複数の項目を選択できることに気付きましたが、複数選択を無効にするにはどうすればよいですか。一度に1つだけ選択できるようにしたい。
ありがとう。
jquery ui の選択可能なウィジェットで、Ctrl キーを押しながら (またはボックスをドラッグして) 複数の項目を選択できることに気付きましたが、複数選択を無効にするにはどうすればよいですか。一度に1つだけ選択できるようにしたい。
ありがとう。
これはかなり大雑把な実装です: http://jsfiddle.net/rtRjK/
基本的に、要素が選択されると、最初に選択されているすべての兄弟の選択が解除されます。これにより、ctrl クリックが処理されます。次に、選択している兄弟を繰り返し処理し、選択を解除します。これにより、ドラッグが処理されます。結果として、ドラッグは常に最大の y 座標を持つ要素を取ります。
独自の選択可能なウィジェットをロールすることもできます。ctrl キーの参照と_mouseDrag
機能を次から削除しました$.ui.selectable
: http://jsfiddle.net/zFFXc/
$("#myList li").click(function() {
$(this).addClass("selected").siblings().removeClass("selected");
});
選択可能, 単一選択, キーボード付き
//after load
$(function() {
// make <ol id=lista> selectable (jquery UI)
$("#lista").selectable();
$("#lista").children(":first-child").addClass("selected"); //select first
$(document).keydown(function(ev) { //con keyboard
var actual = $(".selected");
switch (ev.keyCode) {
case 13: // User pressed "enter" key
actual.dblclick();
ev.preventDefault();
break;
case 38: // User pressed "up" arrow
actual.prev().click();
ev.preventDefault();
break;
case 40: // User pressed "down" arrow
actual.next().click();
ev.preventDefault();
break;
}
}); //end keydown
//single select
$("#lista li").click(function() {
$(this).addClass("selected").siblings().removeClass("selected");
});
}); // end $(fn...