Mein Skript funktioniert zu 80%. Aber wenn es um den unteren Teil geht, wo Sie ein paar 6-8 Leute sind, hört mein Sortier-Skript auf zu arbeiten. Ich bin ein Anfänger und weiß nicht so viel. Wäre hilfreich, wenn das Problem gelöst wäre.Filtersystem für Restaurant Buchung
Q: Ich möchte, dass es so funktioniert, wenn Sie 8 Personen sind, können Sie nur einen Tisch für 8 und höher auswählen.
LIVE-Version: https://elevarbetensys.se/SY15/MS15/GYARB/index.html#reservation
Code:
<select id="persons" class="form-group input-group clockpicker form-control selectpicker" style="width:300px;">
<option value="1">1 Pers.
<option value="2">2 Pers.
<option value="3">3 Pers.
<option value="4">4 Pers.
<option value="5">5 Pers.
<option value="6">6 Pers.
<option value="7">7 Pers.
<option value="8">8 Pers.
</select>
<select id="table" class="form-group input-group clockpicker form-control selectpicker" style="width:300px;">
<option value="4">Table: 1
<option value="8">Table: 2
<option value="2">Table: 3
<option value="2">Table: 4
<option value="2">Table: 5
<option value="4">Table: 6
<option value="2">Table: 7
<option value="2">Table: 8
<option value="2">Table: 9
<option value="4">Table: 10
<option value="6">Table: 11
<option value="4">Table: 12
<option value="4">Table: 13
<option value="4">Table: 14
<option value="4">Table: 15
<option value="4">Table: 16
<option value="2">Table: 17
<option value="2">Table: 18
<option value="4">Table: 19
<option value="4">Table: 20
<option value="4">Table: 21
<option value="4">Table: 22
<option value="6">Table: 23
<option value="6">Table: 24
</select>
Javascript:
$(document).ready(function() {
$("#persons").on("change", function() {
if ($("#persons").val() > 2) {
//alert($('#table option').size());
for(i = 0; i < $('#table option').size(); i++) {
if ($('#table option[value="' + i + '"]').val() < 3){
$('#table option[value="' + i + '"]').remove();
}
}
}
if ($("#persons").val() > 5) {
//alert($('#table option').size());
for(i = 0; i < $('#table option').size(); i++) {
if ($('#table option[value="' + i + '"]').val() < 5){
$('#table option[value="' + i + '"]').remove();
}
}
}
if ($("#persons").val() > 6) {
//alert($('#table option').size());
for(i = 0; i < $('#table option').size(); i++) {
if ($('#table option[value="' + i + '"]').val() < 6){
$('#table option[value="' + i + '"]').remove();
}
}
}
if ($("#persons").val() >= 7) {
//alert($('#table option').size());
for(i = 0; i < $('#table option').size(); i++) {
if ($('#table option[value="' + i + '"]').val() < 8){
$('#table option[value="' + i + '"]').remove();
}
}
}
});
});
Mein Vorschlag ist, dass Sie Tabelle nach Anzahl der Personen rendern sollten. ZB: wenn die Leute 3 Leute auswählen: du gibst 'renderTable (3); 'und gib einfach die Tischliste für 3 Leute zurück – Kai