在“选择” / 下拉HTML列表中手动输入一个值吗?

27 浏览
0 Comments

在“选择” / 下拉HTML列表中手动输入一个值吗?

在Windows Forms应用程序中,下拉选择列表还允许用户在同一字段中输入替代值(假设开发人员在控件上启用了此选项)。

如何在HTML中实现这一点呢?似乎只能从列表中选择值。

如果直接使用HTML无法实现这一点,是否有用Javascript的方法可以实现?

0
0 Comments

问题的原因是在HTML规范中,文本框和下拉框是两种基本不同的元素,无法直接将它们的功能组合在一起。解决这个问题的方法是使用selectize.js插件,它可以将文本框和下拉框的功能融合在一起。

selectize.js是一个基于jQuery的插件,它可以用于标签选择、联系人列表、国家选择等功能。通过使用selectize.js,我们可以实现在下拉框中手动输入值的功能。

在尝试了几乎所有的解决方案后,我发现selectize.js是最好的解决方法。它真正解决了我的问题,非常感谢分享这个插件。在经过大量的搜索后,我终于找到了这样一个可以轻松应用的解决方案。

感谢那位真正的MVP,你知道这是谁。在经过一番搜索之后,我终于找到了这个可移植的解决方案。

0
0 Comments

问题的原因是用户在一个下拉列表中手动输入一个值后,当用户点击其他地方时,输入的值会消失。用户希望能够输入自定义答案,而不仅仅是下拉列表中的选项。

解决方法是使用jQuery的combobox/autocomplete插件。这个插件不需要许可证,功能与ExtJS提供的类似。

以下是一个解决方法的示例:

首先,将jQuery和jQuery UI的库文件添加到你的HTML文件中:

<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://code.jquery.com/ui/1.13.1/jquery-ui.min.js"></script>

然后,在HTML文件中添加一个input元素和一个select元素,用于显示下拉列表:

<input id="customInput" type="text" placeholder="Type here">
<select id="selectList">
  <option value="Option 1">Option 1</option>
  <option value="Option 2">Option 2</option>
  <option value="Option 3">Option 3</option>
</select>

接下来,使用jQuery的autocomplete方法来创建一个自动完成的下拉列表。该方法需要两个参数:input元素的ID和一个选项对象。在选项对象中,我们可以定义自定义答案的处理逻辑。

$(function() {
  var availableOptions = [
    "Option 1",
    "Option 2",
    "Option 3"
  ];
  
  $("#customInput").autocomplete({
    source: availableOptions,
    minLength: 0,
    select: function(event, ui) {
      if (ui.item) {
        $("#selectList").val(ui.item.value);
      }
    }
  }).focus(function() {
    $(this).autocomplete("search");
  });
});

在这个示例中,我们将"Option 1","Option 2"和"Option 3"作为可用选项存储在一个数组中。然后,将该数组作为source参数传递给autocomplete方法。通过设置minLength为0,我们允许用户在输入框中输入自定义答案。

在select事件中,我们检查用户选择的项是否存在。如果存在,我们将该值设置为selectList元素的值,以便将其显示在下拉列表中。

最后,我们使用focus事件来在输入框获取焦点时自动触发搜索。

完成以上步骤后,用户就可以在输入框中手动输入值,并且可以选择下拉列表中的选项。当用户选择一个选项时,该值将显示在下拉列表中。

0
0 Comments

在HTML5中,可以通过以下方式手动在"Select" / Drop-down HTML列表中输入值:



  
  
  
  

这种方法适用于我。在许多情况下,我们不需要支持旧的浏览器。我只在输入字段的背景上添加了一个"向下箭头"图像(您需要一个实际的图像文件):


在Chrome中,似乎自动完成了下拉箭头的功能。

这种方法看起来很不错,但是选项没有onclick触发器,并且无法从选项传递任何隐藏值到输入字段。因此,如果您需要为每个选项调用带有id的函数,这将是一个真正的麻烦。而且,如果您正在寻找像按下退格键时清空整个字段这样的自定义行为,它会导致不希望的行为。

0