如何使第一项html下拉框(选择元素)可选

时间:2010-02-07 13:01:45

标签: html events combobox

我有一个标准的html下拉框。

我希望在用户选择没有单独提交按钮的项目后运行js代码。

当用户在选择框中选择第一项(实际上是先前选择的项目)时,不会触发Onchange事件。

即使单击之前选择的项目,如何使组合框对点击作出反应?

注意: 1.我不想添加“从这里选择”或类似于选择框的内容。 2. onclick事件没有帮助,因为它也会在第一次点击时触发用户在实际选择之前打开选项。

3 个答案:

答案 0 :(得分:1)

我认为这不可能做到。正如您所指出的那样,onchange不起作用。 onmouseup太早发射。

我认为onblur 执行此操作,但当用户选中可用元素时,它也会触发。

如果您确实需要这种方法可靠地工作,请考虑使用基于JavaScript的替换小部件,如this one。它们使您能够解决标准表单元素不幸存在的臭名昭着的缺乏灵活性。

哦,顺便说一下,<select>元素is not a combo box,它是下拉列表

:)

答案 1 :(得分:1)

您可以使用onclick事件,但同时计算点击次数。

  <script type="text/javascript">
      var count = 0;

      function selectClicked(sel){
            count++;
            if (count == 2){
               //the user has selected something
               //so go ahead and handle it
               count = 0; 
            }
      }

  </script>

答案 2 :(得分:1)

如果您将“onclick”事件添加到单个“选项”元素而不是“select”元素,该怎么办?