Я работаю над сайтом для театра, где клиент может резервировать билеты. Выбор стула работает следующим образом:
Есть, конечно, и стулья, которые уже зарезервированы. У них просто нет флажка. Значение флажка совпадает с уникальным идентификатором стула.
Это отлично работает, за исключением того, что я хочу, чтобы система автоматически помещала следующие флажки (следующие 3, если клиент выбрал 4).
Я обновил свой код:
var _X = $('#PlaatsenDropdown').val() - 1;
var _id = $(this).id;
var _counter = _id + _X;
for(var i = _id; i <= _counter; i++) {
if($(this).nextAll().is('disabled')) {
alert('No seats available');
} else {
alert('Chairs available');
}
}
Идентификатор также является номером стула, поэтому я просто беру это и делаю некоторые вычисления с ним для использования в цикле for. Это, однако, ничего мне не показывает. Я думаю, что может быть что-то не так с расчетами, но я не могу понять, что: S.
Вы можете создать массив строк идентификатора, аналогичный тому, что вы уже сделали. Затем проведите по массиву с помощью теста "disabled".
Псевдокод:
val = selected_chair_ID
for (i=0; i < desired_number_chairs; i++) {
search_right.push('#' + val + i);
search_left.push(('#' + val - i);
}
found = true;
for (j = 0; j < search_right.length; j++) { // Check chairs to the right
$(search_right[j]).....// Disabled check
if (disabled...) {
found=false;
}
if (!found) {
check chairs to the left
}
if (!found) // out of luck