4

我正在为选择框使用选择的原型。现在我想在那个选择框上触发 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());

})
4

2 回答 2

12

在这一行中,您使用$()了一个它不支持的类名。

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

一个类名可以多次使用,因此从 中返回一个数组$$(),这是使用数组的一种方法。

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

我以前没用过Chosen;它的说明说它需要设置,因此您可能必须在更改事件之外执行此操作。

document.observe('dom:loaded', function() {
    $$(".chzn-select").each(function(select) {
        new Chosen(select);
    });
});
于 2011-12-15T17:01:37.340 回答
6

在选择框对象上使用“addEventListener”方法。

编辑 - 这是一个例子:

document.getElementById('selecboxid').addEventListener('change', SomeFunction(), false);
于 2011-12-10T10:07:20.080 回答