【问题标题】:Dropdown remove blank item from list下拉列表从列表中删除空白项
【发布时间】:2018-05-30 21:23:53
【问题描述】:

我在 haml 中使用它来制作下拉菜单。我希望在单击之前保留空白项目(默认未选择任何内容),但我想从列表中删除空白项目,因为它没有再次选择!有可能吗?

- sort_options = [{text: "Text0", id: 0}, {text: "Text1", id: 1}, {text: "", id: 2}]
= select_tag id='dropdown_sorter_tag', options_for_select(sort_options.collect{ |k| [k[:text], k[:id]] }, sort_options.collect{ |k| [k[:text], k[:id]] }[2])

【问题讨论】:

    标签: javascript ruby-on-rails drop-down-menu haml


    【解决方案1】:

    嗯,很难规范?

    这段代码怎么样?

    HTML

      <% sort_options = [{text: "Text0", id: 0}, {text: "Text1", id: 1}] %>
      <%= select_tag id='dropdown_sorter_tag', options_for_select(sort_options.collect{ |k| [k[:text], k[:id]] }, sort_options.collect{ |k| [k[:text], k[:id]] }[2]), include_blank: true %>
    

    js(ES6)

    const selectElement = document.querySelector('#dropdown_sorter_tag')
    
    selectElement.addEventListener('change', (e) => {
      if (!selectElement.value) {
        return
      }
      const options = selectElement.querySelectorAll('option')
      for (let i = 0; i < options.length; i += 1) {
        if (options[i].value) {
          continue
        }
        options[i].remove()
      }
    })
    

    【讨论】:

    • 好在选中了一个item就会被删除。但第一次打开时,空白项仍在列表中。
    • 哎呀,我误会了。
    猜你喜欢
    • 2021-05-24
    • 1970-01-01
    • 2017-02-16
    • 2021-12-17
    • 1970-01-01
    • 1970-01-01
    • 2016-11-01
    • 2011-09-07
    • 2021-07-06
    相关资源
    最近更新 更多