覆盖“选择”下拉列表中的默认选择

丹04

我最近修改的网页,以取代与非人性化的搜索控制Selectize单项选择。

但是我有点UI烦恼。当您单击该控件,然后尝试键入一个新的选择时,什么也没有发生。它仍然具有默认选项。您首先必须按Backspace键删除默认选择,然后才能输入新搜索。

如何使键入立即覆盖默认选项,而不必按Backspace键?

这是一个简短的HTML示例,演示了该问题:

<!DOCTYPE html>
<html>
   <head>
      <title>Selectize Example</title>
      <link rel="stylesheet" href="Selectize/css/selectize.css">
      <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
      <script type="text/javascript" src="Selectize/js/standalone/selectize.js" type="text/javascript"></script>
   </head>
   <body>
      <select name="Manufacturer" id="Manufacturer" class="selectize">
          <option value="ALL" selected>All Manufacturers</option>
          <option value="1">Acme Corp.</option>
          <option value="2">Contoso Ltd.</option>
          <option value="3">Electronic, Inc.</option>
      </select>
      <script type="text/javascript">
         $(".selectize").selectize({create: false})
      </script>
   </body>
</html>
phaberest

我在旅途中做到了,它肯定需要改进,但是至少它能按预期工作。

如下编辑您的JavaScript:

$(".selectize").selectize({
    create: false,
    onDropdownOpen: function(dropdown) {
        var that = $(dropdown).prev().find('.item');

        // If the default option is selected, we empty the div acting as input.
        if(that.data('value') == 'ALL') {
            that.html('');
        }
    },
    onDropdownClose: function(dropdown) {
        var that = $(dropdown).prev().find('.item');

        // If nothing was selected, we restore initial value
        if(that.data('value') == 'ALL') {
            that.html('All Manifacturers');
        }
    },
});

我也做了一点jsfiddle,检查一下

它具有很强的自我解释性,无论如何,它都会在下拉菜单显示时检查所选的值,然后在消失时再次检查所选的值,并且仅在所选值是默认值时才进行逻辑运算。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

覆盖“选择”下拉列表中的默认选择

来自分类Dev

引导程序下拉列表中的默认选择

来自分类Dev

在“选择”下拉列表中显示默认选择 - Angular

来自分类Dev

在下拉列表中不显示默认选择的选项

来自分类Dev

如何在Android下拉列表中添加默认选择的值

来自分类Dev

在cakephp下拉列表中添加默认选项“请选择”

来自分类Dev

在选择下拉列表中自动设置默认文本

来自分类Dev

使用 Angular 在选择下拉列表中设置默认值

来自分类Dev

默认选择不显示在下拉列表中

来自分类Dev

angularjs 中未选择默认选项下拉列表

来自分类Dev

剑道下拉列表默认选择的项目

来自分类Dev

默认选择下拉菜单中的值

来自分类Dev

剑道下拉默认选择

来自分类Dev

使用Angular中的对象在选择下拉列表中设置默认值

来自分类Dev

如何覆盖选择下拉列表的名称和ID属性

来自分类Dev

在cakePHP中为下拉列表(键值数组)选择默认值

来自分类Dev

在angularjs中填充下拉列表选择

来自分类Dev

在下拉列表中自动选择值

来自分类Dev

从角度下拉列表中删除选择的选项

来自分类Dev

在jQuery中更改下拉列表的选择

来自分类Dev

更改下拉列表中的空白选择?

来自分类Dev

AutoIt中的下拉列表项选择

来自分类Dev

在下拉列表中显示用户选择

来自分类Dev

根据下拉列表中的选择填写表单

来自分类Dev

使用骨干网设置下拉列表的默认选择

来自分类Dev

在Angular生成的下拉列表中选择默认选项

来自分类Dev

Ajax条件下拉列表上的默认选择

来自分类Dev

填写选择下拉列表

来自分类Dev

cakephp选择下拉列表