2011-12-10 53 views
4

我正在使用選定的原型選擇框。現在我想在該選擇框上觸發onchange事件。 這裏是鏈接chosen prototype如何在選定的原型javascript選擇框中觸發onchange事件?

如何做到這一點。請幫幫我。

<script type="text/javascript" src="/js/Event.simulate.js"></script> 
<script src="/js/prototype.js" type="text/javascript"></script> 
<script src="/chosen/chosen.proto.js" type="text/javascript"></script> 


<div class="side-by-side clearfix" style="margin-bottom:14px;"> 

     <select data-placeholder="Select Loacation" class="chzn-select" tabindex="2" name="source"> 
      <option value="">Select Loacation</option> 
      <option value="">option1</option> 
      <option value="">option2</option> 
     </select> 
    </div> 



Event.observe($(".chzn-select"),'change', function(){ 

//alert($(".chzn-select").chosen()); 

}) 

回答

6

在選擇框對象上使用「addEventListener」方法。

編輯 - 這裏有一個例子:

document.getElementById('selecboxid').addEventListener('change', SomeFunction(), false); 
+0

謝謝Krik,你能舉個例子。 –

+0

它不工作Krick,我想我們必須使用選擇的腳本。 –

12

在這一行已經使用$()與類名,它不支持。

Event.observe($(".chzn-select"),'change', function(){ 

甲類的名字可以這樣的陣列從$$()返回被使用多次,這裏是與陣列的工作的一種方式。

$$(".chzn-select").invoke('observe', 'change', function() { 
    ... 
}); 

我沒有用之前選的;它的說明說它需要設置,所以你可能不得不在變更事件之外這樣做。

document.observe('dom:loaded', function() { 
    $$(".chzn-select").each(function(select) { 
     new Chosen(select); 
    }); 
}); 
+0

嗨,它不工作,你可以給我一個警示示例, –

+0

現在我已經閱讀了一個合適的[示例](https://github.com/harvesthq/chosen/blob/master/example.proto。 HTML)我看到我設置錯了。這是[一個最小的小提琴](http://jsfiddle.net/ZBKeW/),使它看起來像我必須鏈接到[相同的CSS]官方的一個(http://julesjanssen.github.com /chosen/css/chosen.css),但當然你可以自己做。 – clockworkgeek

+0

非常感謝你... –