我将显示一组存储值的页面放在一起。我正在使用 mootools 和 AJAX 调用来更新值,而无需在用户每次从下拉菜单中选择新项目时刷新页面。
HTML 每行看起来像:
<div class="selections">
<input class="checkbox selector" type="checkbox" CHECKED />
<span class="b_name">
<select class="b_n selector">
<!-- options -->
</select>
</span>
<span class="b_level">
<select class="b_l selector">
<!-- options -->
</select>
</span>
<span class="values">
<!-- the values -->
</span>
</div>
在头中,我设置了一个事件侦听器,例如:
$$('.selector').addEvent('change', function(event){changeValues(this);});
My problem is that when the "b_name"select changes I have to update the list of options in the "b_level"select. 我通过另一个页面上的 PHP 脚本从我的数据库中获取可能的选项列表并替换"b_level"'innerHTML. 一旦我这样做了,附加到的事件监听器"b_l selector"就不再起作用了。
我试图通过在"b_l selector"每次"b_name"更改时显式附加一个事件侦听器来解决此问题,如下所示:
row.getElement('.b_l').addEvent('change', function(event){changeValues(row.getElement('.b_l'));});
其中“行”是 html 元素“div.selections”。
它仍然无法正常工作,我不知道发生了什么。任何人都可以就我如何解决这个问题提出建议吗?或者也许是做我正在做的事情的更好方法。