在jQuery UI可選小部件中,我注意到您可以通過按住ctrl(或通過拖動一個框)來選擇多個項目,但是如何禁用多重選擇。我只希望能夠一次選擇1個。jQuery UI - 可選小部件 - 如何禁用多選?
謝謝。
在jQuery UI可選小部件中,我注意到您可以通過按住ctrl(或通過拖動一個框)來選擇多個項目,但是如何禁用多重選擇。我只希望能夠一次選擇1個。jQuery UI - 可選小部件 - 如何禁用多選?
謝謝。
這是一個相當粗的實現:http://jsfiddle.net/rtRjK/
基本上,當選擇的元素,第一非選擇已選擇的所有它的兄弟姐妹 - 這個處理CTRL-點擊。接下來,迭代選擇和取消選擇它們的兄弟 - 這處理拖拽。因此,拖動總是需要具有最大y座標的元素。
您還可以滾動您自己的可選小部件。我從$.ui.selectable
刪除ctrl鍵參考,並_mouseDrag
功能: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...
的singleselectable插件是一大堆清潔。根據「您也可以......」的部分提出了這個答案,因爲我讀過的所有其他答案都是hacky,而不是乾淨而專業的用戶界面。乾杯 –