Ну тогда так id="chosenmak1" не стоит делать, если селекция будет по ID, то тогда лучше так "chosenmak-1", "chosenmak-2", ... так как нужно будет определить им один обработчик, и это будет так:
$('[id|=chosenmak]').change(function()...
Но если списки в одной таблице, то можно и без ID для списков:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<style>
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script>
$(function() {
var tbl = $('#prop').find('select').change(function() {
var e = $(this).children(':selected'), td = e.closest('tr').children().slice(0, 3), sum = 0;
if(!this.value) td.empty();
else {
td.eq(0).html('<img src='+e.data('image')+'>');
td.eq(1).text(e.text());
td.eq(2).text(e.data('price'));
}
$.each(tbl.find('td:nth-child(3)'), function() {
sum += this.innerHTML*1;
})
$('#total').text(sum);
}).end();
});
</script>
</head>
<body>
<table id="prop" border=1 width=100%>
<tr>
<td></td>
<td></td>
<td></td>
<td>
<select class="chosen" name="maker">
<option value="">Выберите...</option>
<option data-price="300" data-image="http://iconizer.net/files/Farm-fresh/orig/car_add.png" value="1">Модель 1</option>
<option data-price="500" data-image="http://www.iconsearch.ru/uploads/icons/iconslandtransport/32x32/lorrygreen.png" value="2">Модель 2</option>
</select>
</td>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td>
<select class="chosen" name="maker">
<option value="">Выберите...</option>
<option data-price="300" data-image="http://iconizer.net/files/Farm-fresh/orig/car_add.png" value="1">Модель 1</option>
<option data-price="500" data-image="http://www.iconsearch.ru/uploads/icons/iconslandtransport/32x32/lorrygreen.png" value="2">Модель 2</option>
</select>
</td>
</tr>
</table>
<div id="total"></div>
</body>
</html>
где значение
3 в nth-child(3) указывает на порядковый номер (
не индекс в наборе!) элемента TD в своем родителе TR. В данном случае это ячейка содержащая цену.
Вот только как это понять, что у обоих списков одно и тоже имя? Ведь при отправке такой формы сервер получит значение последнего из списков. Чтобы получить значения обоих имена списков дожлны отражать массив - name="maker[]".
Но в этом случае возникает вопрос - почему один и тот же ключ (maker) имеет два набора? Ведь, если первый список, это одни товары, а второй, это другие товары, и имена списков одинаковы, то значения ID каждого списка должны быть уникальны.
Если они не уникальны, и каждый список это разные товары, то имена списков должны быть разные.