Jquery 在JS中选择多个选项
我有以下看法:Jquery 在JS中选择多个选项,jquery,multi-select,selectable,Jquery,Multi Select,Selectable,我有以下看法: <ul id="entries_list"> <li>a</li> <li>b</li> <li>c</li> </ul> 但问题是我必须使用自定义类“custom_selected”。在上述情况下,它可以通过shift正确选择,但不会取消选择。Jquery添加自己的类。是否可以覆盖默认类?如果我可以使用自定义类,那就更容易了 编辑: 我有这个,但它工作不正确: 编辑2: 我真
<ul id="entries_list">
<li>a</li>
<li>b</li>
<li>c</li>
</ul>
但问题是我必须使用自定义类“custom_selected”。在上述情况下,它可以通过shift正确选择,但不会取消选择。Jquery添加自己的类。是否可以覆盖默认类?如果我可以使用自定义类,那就更容易了
编辑:
我有这个,但它工作不正确:
编辑2:
我真的很抱歉,但是我贴错了。现在它是正确的。为什么不简单地使用?还是简单的jQuery代码?
总之,对于jQuery,我为您创建了一个演示:
JS:
CSS:
HTML:
默认情况下,我使用了li中的文本,您可以将$this.text数组映射函数映射到任何其他属性。为什么不使用?添加一个以获得更好的帮助并添加完整的jquery,而不仅仅是一个无人可以帮助的snippit…我不知道什么不起作用。。。一切正常。。。你有什么浏览器
prev = -1;
$("#entries_list").selectable({
filter:'li',
selecting: (e, ui) ->
curr = $(ui.selecting.tagName, e.target).index(ui.selecting);
if(e.shiftKey && prev > -1)
$(ui.selecting.tagName, e.target).slice(Math.min(prev, curr), 1 + Math.max(prev, curr)).addClass('custom_selected');
prev = -1;
else
prev = curr;
$('#entries_list li').on('click', function (e) {
var li = $(this);
var shift = e.shiftKey;
if (shift) {
if (li.hasClass('selected')) {
li.removeClass('selected');
} else {
li.addClass('selected');
}
} else {
$('.selected').removeClass('selected');
li.addClass('selected');
}
var array = jQuery('#entries_list li.selected').map(function () {
return $(this).text();
}).get();
$('p').text(array.join(','));
});
.selected {
background-color:#eee;
}
ul {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: moz-none;
-ms-user-select: none;
user-select: none;
}
<ul id="entries_list">
<li>a</li>
<li>b</li>
<li>c</li>
<li>dc</li>
<li>ddvc</li>
<li>cvb</li>
<li>gc</li>
<li>cdf</li>
<li>cd5</li>
</ul>Selected li:
<p></p>