Показать сообщение отдельно
  #1 (permalink)  
Старый 17.04.2015, 20:47
Интересующийся
Отправить личное сообщение для deltaman Посмотреть профиль Найти все сообщения от deltaman
 
Регистрация: 10.05.2014
Сообщений: 11

Обработка нескольких элементов
Добрый вечер! Есть на странице один или несколько блоков с инпутами, куда вводятся данные для не сложного расчета.
Нюанс в том, что блок может быть один, а может быть два-три-десять.
Ниже-указанный скрипт приведен для варианта один блок или 2 блока.
Вопрос: Как бы оптимизировать этот банальный код после "} else {" для случая, если блоков больше одного? Ну чтобы не писать эти бесконечные room_shirina0, room_shirina1 и так далее?

Код:
<div class="room-block" id="room0">
    <span class="dattext">Высота, м </span>
    <input type="text" name="roomh" class="dat" value=""> <br>
    <span class="dattext">Ширина, м </span>
    <input type="text" name="roomw" class="dat" value=""> <br>
</div>

<div class="room-block" id="room1">
    <span class="dattext">Высота, м </span>
    <input type="text" name="roomh" class="dat" value=""> <br>
    <span class="dattext">Ширина, м </span>
    <input type="text" name="roomw" class="dat" value=""> <br>
</div>
var blockcount = $('.room-block').length;

if (blockcount==1) {
       var room_shirina = $('#room0 INPUT[name=roomw]').val();
	   var room_visota = $('#room0 INPUT[name=roomh]').val();
	   var room_area = (room_shirina*room_visota);
} else {
       var room_shirina0 = $('#room0 INPUT[name=roomw]').val();
	   var room_visota0 = $('#room0 INPUT[name=roomh]').val();
	   var room_shirina1 = $('#room1 INPUT[name=roomw]').val();
	   var room_visota1 = $('#room1 INPUT[name=roomh]').val();
	   
	   var room_area0 = (room_shirina0*room_visota0);
	   var room_area1 = (room_shirina1*room_visota1);
	   
	   var room_area = (room_area0 + room_area1);
	   
}
Ответить с цитированием