首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >防止多重选择检查最后的值

防止多重选择检查最后的值
EN

Stack Overflow用户
提问于 2015-08-04 12:52:25
回答 3查看 63关注 0票数 1

我希望实现多个select元素,以防止用户检查列表中的所有值(all -1是可以接受的)。我编写了一些jquery代码,但我不知道它有什么问题。有什么帮助吗?HTML:

代码语言:javascript
复制
<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>

联署材料:

代码语言:javascript
复制
var userChoice = $(".test");
$.each(userChoice, function(index,value){
   if(index = userChoice.length -1){
      alert("The last was clicked.");
   }
});
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-08-04 13:13:32

尝试此操作,它将阻止您选择所有选项:

代码语言:javascript
复制
$("#custom-header").change(function () {
    if ($(this).val().length > 4) {
        $(this).val("");
    }
});

更新小提琴

或者如果你喜欢短三元:

代码语言:javascript
复制
$("#custom-header").change(function () {   
    $(this).val($(this).val().length > 4 ? "" : $(this).val());
});
票数 2
EN

Stack Overflow用户

发布于 2015-08-04 13:04:25

使用此代码,当选中所有选项时,您将得到警报。

代码语言:javascript
复制
   $('#custom-header').change(function(){
if($("#custom-header > option").length==$("#custom-header    :selected").length){
  alert("The last was clicked.");
}
});
票数 2
EN

Stack Overflow用户

发布于 2015-08-04 12:56:16

您可以使用最后一个孩子选择器:

代码语言:javascript
复制
 var userChoice = $(".test:last-child");
 userChoice.on('click', function() {
         // stuff;
 });

如果您使用onchange事件会更好。

代码语言:javascript
复制
  $('#custom-header').on('change', function() {
       if($(this).selectedIndex == $('#custom-header .test').length)
  });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31809866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档