Inkrement - /Dekrement-Wert eine von vielen ähnlichen text-Eingabe mit jQuery
Die Stilllegung Tisch hat viele identische text ein...
<table>
<tr>
<td>
<a href="#" id="plus"><img src="plus.png" width="12" height="12" /></a>
<input type="text" value="0" />
<a href="#" id="minus"><img src="minus.png" width="12" height="12" /></a>
</td>
.
.
<td>
<a href="#" id="plus"><img src="plus.png" width="12" height="12" /></a>
<input type="text" value="0" />
<a href="#" id="minus"><img src="minus.png" width="12" height="12" /></a>
</td>
</tr>
</table>
und die Stilllegung jQuery script sollte Inkrementieren/Dekrementieren den Wert von Ihrem Schrank Texteingabe...
$("#plus").click(function(){
var text = $(this).next(":text");
text.val(parseInt(text.val(), 10) + 1);
});
$("#minus").click(function(){
var text = $(this).prev(":text");
aux.val(parseInt(aux.val(), 10) - 1);
});
das problem ist, dass das Skript nur funktioniert gut auf den ersten paar links von der Tabelle, Inkrementieren und Dekrementieren der Wert seiner engsten Texteingabe ein, und der rest der verbleibenden Paare von Verknüpfungen ändern nicht den Wert seiner engsten text-input und-was noch schlimmer ist, dass die links verbreiten um die home/jthernandez/Desktop/test.html#
- url, wenn Sie angeklickt wird.
Ich bin mir nicht wirklich sicher, was hier Los ist, aber die Idee ist, dass jedes paar ( + , - links ändert den Wert seiner next(), prev () - text-Eingabe-bzw. Irgendwelche Vorschläge wäre toll. Dank
- Sollten Sie nicht die Wiederverwendung der gleichen
id
es ungültiges html und kann dazu führen, dass alle Arten von Problemen. - Rookie Fehler, in der Tat... vielen Dank
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie in der Nähe. Wie andere erwähnt haben, können Sie nicht dieselbe ID haben, mehr als einmal. IDs sind einzigartig, zu Identifizieren ein einzelnes element. JavaScript wird nur suchen, bis er eine findet, und dann zu stoppen. Klassen werden verwendet, um die Gruppe gemeinsame Elemente. Verwenden Sie eine Klasse und dein code sollte funktionieren (minus ein Tippfehler im javascript):
HTML:
JS (Sie haben einen Tippfehler im minus, erstellen
text
, aber mitaux
):Demo: http://jsfiddle.net/jtbowden/bfM9Z/
Ersten bis; keine HTML-Elemente duplizieren Sie ein weiteres element ist ID.
Zweiten, weil der, dass die Veranstaltungen sind nur für eine bestimmte Menge der Elemente, insbesondere das erste element, das über die ID. Ich würde in Erwägung ziehen, um eine andere Strategie:
Und dann du kannst dein Skript in etwa so:
sollten Sie auf Klassen anstelle von ids, weil, wie Sie sehen, die Auswahl von id nur retrives ersten match
Einer ID auf ein element nur einmal vorkommen kann. Stattdessen ändern der ID der Klasse.