我想实现多重选择元素,阻止用户检查列表中的所有值(所有-1都可以接受)。我写了一些jquery代码,但我不知道它有什么问题。有帮助吗? HTML:
<select class='custom-header' id='custom-header' multiple='multiple' name="my-select">
<option class="test" value='elem_1'>elem 1</option>
<option class="test" value='elem_2'>elem 2</option>
<option class="test" value='elem_3'>elem 3</option>
<option class="test" value='elem_4'>elem 4</option>
<option value='elem_100'>elem 100</option>
</select>
JS:
var userChoice = $(".test");
$.each(userChoice, function(index,value){
if(index = userChoice.length -1){
alert("The last was clicked.");
}
});
答案 0 :(得分:2)
使用此代码当选择所有选项时,您将收到提醒
$('#custom-header').change(function(){
if($("#custom-header > option").length==$("#custom-header :selected").length){
alert("The last was clicked.");
}
});
答案 1 :(得分:2)
试试这个,它会阻止您选择所有选项:
TestLibrary
或者如果你喜欢短三元:
$("#custom-header").change(function () {
if ($(this).val().length > 4) {
$(this).val("");
}
});
答案 2 :(得分:0)
你可以使用最后一个孩子选择器:
var userChoice = $(".test:last-child");
userChoice.on('click', function() {
// stuff;
});
最好使用onchange事件
$('#custom-header').on('change', function() {
if($(this).selectedIndex == $('#custom-header .test').length)
});