注: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();
});
onchangeおよびitetingメソッドを実装するためのより良い方法はありますか?'Attribute contains Selector'(http://api.jquery.com/attribute-contains-selector/)を使用していますが、onchangeイベントで大きなパフォーマンスの問題が発生しているようです。
アップデート:
最後の部分を検索するために*を$に置き換えました。これは(私が思うに)パフォーマンスに少し役立ちますが、それでもこれが最良の解決策であるかどうかを調べます
$("input[name$=car_id]").change(function(){
// display info for each car selected from each drop down select menu
showCarinfo();
});