2014-02-21 45 views
3

快速的問題。我是否可以使用JQuery來模擬點擊選擇框(不考慮選擇框的ID或類)。 div中只有一個選擇框。在此先感謝模擬單擊div內的選擇框時點擊div

下面是HTML:

<div class="custom-select"> 
<select id="operator_select"> 
<option value="1">1</option> 
<option value="2">2</option> 
<select> 
</div> 

Jquery的代碼,我想:

$(function(){ 
    $(".custom-select").click(function(){ 
     $('select',this).click(); 
     }); 
    }); 

這裏有一個小提琴:http://jsfiddle.net/arjdev/5Sch2/

+0

你是不是想以編程方式打開下拉菜單? http://stackoverflow.com/questions/13234971/simulate-click-on-select-element-with-jquery – George

+0

是的,我正在這樣做。 @oGeez – ArJ

回答

2
$(function() { 
    function open(elem) { 
     if (document.createEvent) { 
      var e = document.createEvent("MouseEvents"); 
      e.initMouseEvent("mousedown", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null); 
      elem[0].dispatchEvent(e); 
     } else if (element.fireEvent) { 
      elem[0].fireEvent("onmousedown"); 
     } 
    } 

    $(".custom-select").click(function() { 
     open($(this).find('select')); 
    }); 
}); 

你選擇標籤也沒有結束</select>

Fiddle

+0

你試過了嗎?它沒有爲我工作。你能提供一個小提琴嗎? – ArJ

+0

我更新了我的回答 – Tomanow

+0

謝謝,很好的工作..我沒想到那麼遠(創建一個自定義事件)。 – ArJ

0

嘗試觸發方式

$(function(){ 
$(".custom-select").click(function(){ 
    $('select').trigger("click"); 
    }); 
}); 
0

試試這個..這將觸發形式負載

$(document).ready(function() { 
     $('.custom-select').find('select').trigger('click'); 
    });