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

Yas*_*azk 5 jquery select collapse

如何处理选择的折叠事件,或触发更改事件,即使所选选项未更改?

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

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

Cho*_*roc 8

好吧,经过一些研究,看起来像选择clik由于浏览器不兼容而无法解雇(看看这个问题:附加到Option节点的事件没有被触发)

...但我们可以模拟点击,制作解决方法,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);
});
Run Code Online (Sandbox Code Playgroud)

HTML

<select class="click_option">
      <option value="1"> Selected 1 </option>
      <option value="2"> Selected 2 </option>
</select>
Run Code Online (Sandbox Code Playgroud)

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

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

希望它有所帮助,尊敬!