选择相同的值时,jQuery选择更改事件

时间:2013-03-16 17:06:05

标签: jquery select collapse

即使所选选项没有改变,我如何处理选择的崩溃事件,或触发更改事件?

我需要将这个用于搜索引擎,如果所选的选项相同,吉祥物仍会移动。搜索引擎位于此页面上:http://www.marocpneus.com

例如,如果您继续点击第一个选择“Typedevéhicule”并选择已经选择的“Tourisme”,则该角色将不会移动到第二个选择。但是,如果您将“Tourisme”更改为其他值之一,则角色确实会使用经典的jQuery更改事件进行移动。

1 个答案:

答案 0 :(得分:8)

好的,经过一些研究,看起来选择clik因为浏览器不兼容而无法解雇(看看这个问题:Event attached to Option node not being fired

...但我们可以模拟点击,制作解决方法,XD,你有小提琴:http://jsfiddle.net/H9gg5/3

<强>的js

$('select.click_option').click(function() {
    if ( $(this).data('clicks') == 1 ) {
        // Trigger here your function:    
        console.log('Selected Option: ' + $(this).val() );
        $(this).data('clicks', 0);
    } else {
        console.log('first click');
        $(this).data('clicks', 1);
    }
});

$('select.click_option').focusout( function() {
    $(this).data('clicks', 0);
});

<强> HTML

<select class="click_option">
      <option value="1"> Selected 1 </option>
      <option value="2"> Selected 2 </option>
</select>

它做什么?好吧,我们知道我们已经选择了一个选项(甚至是相同的选项),因为我们在select上单击了两次,因此,只需计算点击次数,然后在上一次点击后点击它,触发它,XD。该代码还处理失去焦点,因为如果您单击选择,它将关闭click = 1,您必须重置它。

我在select中添加了一个类,用于在用户单击所需的选择时仅触发该函数。

希望它有所帮助,问候!