Ich mache ein Online-Bestellsystem für unsere Kunden, wo, wenn sie sich einloggen, sie auf eine Seite gebracht werden, wo die Artikel, die sie bestellen, aus einer DB abgerufen werden Es ist also dynamisch und anders für alle Kunden. Einige Kunden haben mehr als 50 Artikel, so dass sie in den Eingabefeldern ab und zu sehen, was sie bisher bestellt haben. Ich versuche Javascript, um zwischen der vollständigen Bestellliste und nur um zu sehen, was sie eine Menge neben platziert haben. Abrufen der Elemente über PHP, ich legte jedes Array-Element in einem ABSCHNITT dann eine DIV CLASS = "W3-Third ..".Muss zwischen allen Abschnitten und Abschnitten mit nur Eingabewert wechseln
Unten ist der untere Teil des PHP-Pull; Das letzte LIST-Element ist das Mengenfeld und ich habe einen SPAN darum gelegt, um es für die Zählung zu erfassen.
und darunter ist die Javascript Ich versuche, (ich bin neu zu Codierung und zum ersten Mal eine Frage hier zu fragen):
$i=1; //counter variable
while($rowtbl = mysqli_fetch_array($resulttbl)) {
?>
<section>
<div class="w3-third w3-margin-bottom" id="itemsToFilter" data-type="<?php echo $rowtbl['category']?>">
<ul class="w3-ul w3-border w3-center w3-hover-shadow" >
<li class="w3-padding-16"><?php echo htmlspecialchars($rowtbl['CustNo']) ?></li>
<li class="w3-green"><?php echo htmlspecialchars($rowtbl['description']) ?></li>
<li class="w3-padding-16"><?php echo htmlspecialchars($rowtbl['brand']) ?></li>
<li class="w3-padding-16"><?php echo htmlspecialchars($rowtbl['category']) ?></li>
<li class="w3-padding-16"><?php echo htmlspecialchars($rowtbl['itemNu']) ?>
<input type="hidden" name="prodid<?php echo $i; ?>" value="<?php echo $rowtbl['itemNu']; ?>" /></li>
<li class="w3-padding-16"><?php echo htmlspecialchars($rowtbl['pksz']) ?></li>
<li class="w3-padding-16"><?php echo htmlspecialchars($rowtbl['ea']) ?></li>
<?php if ($rowtbl['bc'] == "y" && $rowtbl['ea'] == 1) { ?>
<li class="w3-padding-16"><input type="checkbox" checked name="bc<?php echo $i; ?>" /></li>
<?php } elseif ($rowtbl['bc'] == "y" && $rowtbl['ea'] == 0) { ?>
<li class="w3-padding-16"><input type="checkbox" name="bc<?php echo $i; ?>" /></li>
<?php }
else { ?>
<li class="w3-padding-16"><input type="hidden" name="bc<?php echo $i; ?>" /></li>
<?
}
?>
<input type="hidden" name="rows" id="rows" value="<?php echo $i; ?>" />
<li class="w3-padding-16"><span><input type="text" name="qty<?php echo $i; ?>" id="inputq" /></span></li>
</ul>
<div>
</section>
<?php $i++; //increment counter variable
} ?>
und das Javascript, wo nichts passiert:
<script>
$(document).ready(function(){
$("button").click(function() {
var x = document.getElementsByTagName("span");
document.getElementById("demo").innerHTML = x.length;
var i;
for (var i = 0; i < x.length; i++) {
if(document.getElementById("inputq".[i]).value == ""){
$("span").parentsUntil("section").toggle();
}
}
});
});
</script
Wenn ich nur das Javascript unten benutze und auf den Knopf klicke, bekomme ich die korrekte Zählung, also es Wenn ich das SPAN lese, mache ich eindeutig etwas falsch mit der for-Schleife.
<script>
$(document).ready(function(){
$("button").click(function() {
var x = document.getElementsByTagName("span");
document.getElementById("demo").innerHTML = x.length;
});
});
</script>
Ich habe auch versucht, diese unten, aber es schaltet alle 33 Abschnitte zunächst, und wenn ich eine Menge in einem Abschnitt Eingabefeld setzen, ist es nicht zu wechseln, dann, wenn ich eine Menge in einem zweiten setzen Abschnitt, es schaltet usw.
$(document).ready(function(){
$("button").click(function(){
$('input[type=text]').each(function(){
if (this.value == "") {
$("span").parentsUntil("section").toggle();
};
});
});
});
Ich bin mir nicht sicher, ob ich eine Kombination der beiden oder etwas ganz anderes brauche. Ich habe seit Tagen online gesucht, aber alles, was ich finden kann, sind Themen zum Umschalten von 1 Element oder 1 Elementtyp. Bitte helfen .. Vielen Dank im Voraus.
Ich denke, dass etwas mit dieser Zeile hier falsch ist: 'document.getElementById (" inputq ". [I]). Value ==" "' ... Haben Sie mehrere Qty-Eingänge mit der gleichen ID = "inputq "? – mfink
oh ja ich habe mehr als 1 Eingabe mit dieser ID ... ich sah Ihren Beitrag und fügte hinzu: id = "inputq Php echo $ i;?>" Da es dynamisch Informationen aus einer db abruft, jedoch immer noch macht nichts .. – niro