用原型观察多个选择菜单

时间:2010-06-08 08:32:21

标签: javascript prototypejs

我想观察多个选择菜单并使用原型响应他们的更改,但似乎只能观察到第一个菜单。这是我的代码:

$('product_options').select('select').invoke("observe","change",optchange);

如果有 - 例如 - 在product_options中选择3,那么它只会观察第一个,我认为这可能是因为调用所以我尝试了这个:

$('product_options').select('select').each(function(sel){
    $(sel).observe("change",optchange);
});

但仍然没有用,任何想法都错了吗?

选择器肯定没有问题,因为console.debug()向我展示了所有选择菜单

1 个答案:

答案 0 :(得分:2)

您检查过JS错误控制台吗?以下工作正常:

<html>
  <head>
    <title>optchange</title>
    <script type="text/javascript" src="prototype.js"></script>
  </head>
  <body>
    <div id="product_options">
      <select id="o0">
        <option>1</option>
        <option>2</option>
      </select>
      <select id="o1">
        <option>1</option>
        <option>2</option>
      </select>
      <select id="o3">
        <option>1</option>
        <option>2</option>
      </select>
    </div>
    <script type="text/javascript">
      function optchange(e) {
        alert("optchanged");
      }
      $('product_options').select('select').invoke("observe","change", optchange);
    </script>
  </body>
</html>