Ändern Sie() in each () - jQuery
Was ist der beste Weg, um zu verwalten diese Art von situation :
$('.element').each(function() {
$sibling = //find a sibling to $this.
$mainElement = $(this); //memorize $(this)
$sibling.change(function() {
//when sibling changes
//do something using $mainElement
//problem is, $mainElement is not the element you think
//$mainElement is the last .element found....
})
});
Eine Lösung wäre eine Tabelle... Aber dann gibt es keinen Vorteil für das change() verschachtelt werden und in der jede()...
Mein html-Beispiel :
<div id="first">
<span class="element"></span>
<input name="first" type="text" />
</div>
<div id="second">
<span class="element"></span>
<input name="second" type="text" />
</div>
In diesem Beispiel, $sibling = $(this).next('input');
zum Beispiel.
Haben Sie versucht: var $Geschwister = // finde ein Geschwisterchen $this. var $mainElement = $(this);
Posted html, sorry für die Wartezeit.
Posted html, sorry für die Wartezeit.
InformationsquelleAutor Lyth | 2013-02-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einen Weg, es zu tun, ist die Verwendung eines Verschluss. Dies wird erfassen die variable in
$mainElement
, so zu sprechen, mit seinem aktuellen Wert.jsfiddle-Beispiel (achten Sie darauf, verwischen die textfield, nach dem Bearbeiten, sonst
.change()
wird nicht ausgelöst)InformationsquelleAutor Decent Dabbler
Versuchen Sie es mit diesem
InformationsquelleAutor Gautam3164
InformationsquelleAutor Roko C. Buljan
Ich würde sagen, die einfachste Wette für Sie ein .jeder auf die Geschwister, und dann finden die relative ".element" für die Geschwister. Abhängig von Ihrem code natürlich. Ansonsten, so etwas wie dies funktionieren könnte, obwohl es fühlt sich ein bisschen redundanten wegen der .jeder:
InformationsquelleAutor Somersault