【问题标题】:Dropdown won't close on select (javascript)下拉菜单不会在选择时关闭(javascript)
【发布时间】:2022-01-14 05:54:19
【问题描述】:

我正在尝试在一个页面上创建多个下拉菜单,这些下拉菜单会根据从该下拉菜单中的选择来选择单选按钮。

它工作了一半,单选按钮会根据选择发生变化,但是我无法关闭下拉菜单并在选择时保留选择器。想知道这是否与 JS 有关 - 下面的小提琴

小提琴:https://jsfiddle.net/8b069fj2/

$("input").on("change", function () {
  var inputName = this.name;
  $("#select-' + inputName + '-btn").html(this.checked ? this.value : "");
});

$(".js-option").on("click", function () {
  $(this).parent().find("ul").toggleClass("js-drop");
});

【问题讨论】:

    标签: javascript html list button dropdown


    【解决方案1】:

    您正在使用列表元素的单击处理程序,因此以下内容对我有用:

    $('input').on('change', function() {
      var inputName = this.name;
      console.log(inputName);
      var selector = '#select-' + inputName + '-btn';
      $(selector).html(this.checked ? this.value : '');
    });
    
    $('.js-option').on('click', function() {
      $(this).parent().find('ul').toggleClass("js-drop");
    });
    
      $('li .js-option').on('click',function(){
        $(this).closest('ul').toggleClass("js-drop");
      })
    

    【讨论】:

    • 谢谢!这只会选择第一个选项,第二个下拉菜单不起作用
    • 是的,这只是展示了如何关闭它。实际上,您需要更多代码来动态关闭它们。一旦我有更多时间,我会更新我的答案。
    • 太棒了!在此期间我会尝试自己解决...可能无济于事!
    • 好的,刚刚更新了答案,这似乎有效
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-24
    • 1970-01-01
    • 2015-10-02
    • 1970-01-01
    相关资源
    最近更新 更多