我想观察多个选择菜单并使用原型响应他们的更改,但似乎只能观察到第一个菜单。这是我的代码:
$('product_options').select('select').invoke("observe","change",optchange);
如果有 - 例如 - 在product_options中选择3,那么它只会观察第一个,我认为这可能是因为调用所以我尝试了这个:
$('product_options').select('select').each(function(sel){
$(sel).observe("change",optchange);
});
但仍然没有用,任何想法都错了吗?
选择器肯定没有问题,因为console.debug()
向我展示了所有选择菜单
答案 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>