如果单击已选择的选项,则触发更改事件

时间:2015-10-01 04:50:13

标签: jquery select html-select onchange

如果单击已选择的选项,如何触发更改事件。 例如,我在下拉列表中有以下选项

  • 红色
  • 绿色
选择了

和蓝色选项。现在我希望如果我再次点击蓝色项目,那么应该触发更改事件。

2 个答案:

答案 0 :(得分:1)

即使用户选择了所选选项,运行change也是一个已知问题 - 您可以read here了解它。

现在,当您知道如何在用户选择任何选项时触发事件时,您只需存储上次使用的值并检查是否选择了相同的项目。

var previousValue;
$("select")
    .mouseup(function() {
        var open = $(this).data("isopen");

        if (open) {
            if (this.value === previousValue)
            {
                alert("The same select has been clicked");
            }
        }

        previousValue = this.value;
    
        $(this).data("isopen", !open);
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select>
  <option>Red</option>
  <option selected>Green</option>
  <option>Blue</option>
</select>

答案 1 :(得分:0)

您可以使用<c:choose> <c:when test="${fn:length(serviceRequestData)>= 1}"> // Place the code what you want to do </c:when> <c:otherwise> // Nothing to display </c:otherwise> </c:choose> 事件而不是click事件来实现这一目标。

如果您选择相同的选项,change事件不会触发,因为您的选择没有改变。