注意:使用 jQuery 1.3.2(是的,我正在升级,但仍然需要为此使用 1.3.2)
寻找更好的方法来实现这一点
HTML 元素(来自自定义 PHP 框架,更改起来非常麻烦):
<select id="car[0][car_id]" name="car[0][car_id]">
... 100+ options
</select>
我可以动态添加另一个下拉列表,如下所示:
<select id="car[1][car_id]" name="car[1][car_id]">
... 100+ options
</select>
和
<select id="car[2][car_id]" name="car[2][car_id]">
... 100+ options
</select>
现在我像这样遍历它们:
function showCarinfo() {
for ( var car_number = 0; $("#car\\["+car_number+"\\]\\[car_id\\]").length > 0; car_number++ ) {
// do stuff
}
}
关于更改选择:
$("input[name*=car_id]").change(function(){
// display info for each car selected from each drop down select menu
showCarinfo();
});
有没有更好的方法来实现改变和迭代方法?我正在使用“属性包含选择器”(http://api.jquery.com/attribute-contains-selector/),但看起来它会导致 on change 事件出现很大的性能问题。
更新:
我已将 * 替换为 $ 以搜索最后一部分,这(我认为)确实对性能有所帮助,但仍在寻找这是否是最佳解决方案
$("input[name$=car_id]").change(function(){
// display info for each car selected from each drop down select menu
showCarinfo();
});