Ich bin neu in der Programmierung im Allgemeinen, so dass mein Code wahrscheinlich wie s aussieht .... Ich versuche, das Spielergebnis zu automatisieren (1/X/2) abhängig von der Anzahl der in das Formular eingegebenen Heim- und Auswärtsziele. Daher brauche ich hier Hilfe mit meiner jQuery for-Schleife. Der Code ist unten:jQuery für Schleife hinzufügen [i] zu "ID" #name
for (var i = 1; i < 51; i++) {
$(document).change(function() {
if ($('#hg' + [i]).val() > $('#ag' + [i]).val()) {
$('#r' + [i]).val('1');
}
else if ($('#hg' + [i]).val() < $('#ag' + [i]).val()) {
$('#r' + [i]).val('2');
}
else {
$('#r' + [i]).val('X');
}
})
}
Anda, was ich tun, will die Werte in jedem Spiel zu vergleichen. Heimziele gegen Auswärtsziele (# hg1 im Vergleich zu # ag1, # hg2 comp. # Ag2 etc usw.). Das Problem ist, dass ich nicht weiß, wie ich meinen Textfeldnamen ändern kann. Ich mag es so aussehen:
#hg1
#ag1
#r1
#hg2
#ag2
#r2
etc etc., wo die Zahl erhöht, wie [i] tun.
Der Tabellencode unter:
<div asp-validation-summary="ValidationSummary.All"></div>
<form asp-controller="BetSlip" asp-action="AddBetSlip">
<table>
<tr>
<td id="teamTdMargin"><label asp-for="HomeGoals1"></label> - <label asp-for="AwayGoals1"></label></td>
<td id="resultTextBox">
<input asp-for="HomeGoals1" class="resultTextBox" id="hg1" />
</td>
<td id="resultSpacing">-</td>
<td>
<input asp-for="AwayGoals1" class="resultTextBox" id="ag1" />
</td>
<td>
<input asp-for="Result1" class="resultTextBox" id="r1" value="" tabindex="999" readonly />
</td>
</tr>
<tr>
<td id="teamTdMargin"><label asp-for="HomeGoals2"></label> - <label asp-for="AwayGoals2"></label></td>
<td id="resultTextBox">
<input asp-for="HomeGoals2" class="resultTextBox" id="hg2" />
</td>
<td id="resultSpacing">-</td>
<td>
<input asp-for="AwayGoals2" class="resultTextBox" id="ag2" />
</td>
<td>
<input asp-for="Result2" class="resultTextBox" id="r2" value="" tabindex="999" readonly />
</td>
</tr>
<tr>
<td><input type="submit" value="Tippa rad" /></td>
</tr>
</table>
</form>
Wahrscheinlich in der HTML-Tabelle Code ausgeführt werden könnte auch statt mich zu wiederholen. Wie auch immer, jede Hilfe wird sehr geschätzt.
Beachten Sie, dass die für Schleife ist nur "einfaches" JavaScript. Das Googlen von "jQuery for loop" oder ähnlichen Dingen wird mühsam sein, da die meisten jQuery-Dokumentationen grundlegende JavaScript-Kenntnisse voraussetzen. –
Die Attribute 'id' sind nicht erforderlich. Verwenden Sie einfach relative Selektoren '$ .each ($ ('tr'), function() {var Eingaben = $ (this) .find ('input'); var hg = Eingaben.eq (0) .val(); var ag = inputs.eq (1) .val(); ... etc ...}); ' –
@StephenMuecke Scheint eine nette Lösung zu sein, aber leider kann ich es nicht zur Arbeit bringen. Vielleicht könntest du mir helfen, es zu reparieren? Keine der anderen Lösungen funktionierte für mich. So schrieb ich meinen Code: $ .each ($ ('tr'), function() { var inputs = $ (this) .find ('input'). Val; var hg = inputs.eq (0) .val(); var ag = Eingaben.eq (1) .val(); var r = Eingaben.eq (2) .val(); if (hg> ag) { r = ' 1' ; } else if (hg