変更されている要素のIDを見つけて、残りの計算で使用するためにその数字部分を抽出できます。これが私が変更した側面と作業バージョンです。
var uniqueOne = $(this).attr("id").match(/\d+/);
$("[id^=quant_][id$="+uniqueOne+"]").text($("input[id^=qty_item_][id$="+uniqueOne+"]").val());
最もきれいに見えるコードではありませんが、それが行うことは、quant_で始まりuniqueOneで終わるIDを見つけることです。これらを凝縮することもできますが、2つのセレクター(で始まり、で終わる)の組み合わせが強調されています。
素晴らしいアイデアがたくさんあるようです。
編集:
IDがqty_item_で始まらない場合は、別のセレクターを使用する必要があります。これの最も低いハンギングフルーツは、containsセレクターです:id*=blah
。
見つけるために「グロス」IDでバージョンを更新しました:http://jsfiddle.net/6ms4T/22/
編集:
以前のjsfiddleは、期待どおりに合計を更新することを処理しませんでした。この更新されたバージョンは、DOM要素がIDによって検索されるすべてのケースを識別することにより、混乱を減らすはずです。ただし、これをリファクタリングする必要がある可能性が高いです:http: //jsfiddle.net/6ms4T/24/。
編集:
OPのタグにはさまざまな数字と文字がIDに生成されていましたが、最後の数字の前にはアンダースコアが付いていました。これにより、正規表現で重要なIDが見つかりました/\d+$/
。他のポスターが示しているように、これを解決する方法は複数あります。私は個人的にユーザーgabitzishが好きでした。