Finden das input-element des nächsten TD
Probleme bei der Suche die input
element in der nächsten td
. Ich brauche, um einen Wert in der td-Klasse von tblCashSum der textbox.
Jedoch, wenn ich den folgenden Code:
alert(formElement.nextAll('td.tblCashSum').find('input.cashSum').val());
Er liest nicht definiert.
HTML:
<tr>
<td class='tblCashType'>100</td>
<td class='tblCashAmount'><asp:TextBox class="inputBox" ID="noteAmount100" runat="server"></asp:TextBox></td>
<td class='tblCashSum'><asp:TextBox class="inputBoxDisabled cashSum" ReadOnly="true" runat="server" ID="cashSum100"></asp:TextBox></td>
</tr>
Jquery:
$("noteAmount").blur(function(){
calc($(this));
});
function calc(formElement)
{
a = formElement.val();
b = formElement.closest('td').siblings('td.tblCashType').text();
x = a * b;
formElement.nextAll('td.tblCashSum').find('input.cashSum').val(x);
}
ist
ja, ich habe einen Fehler gemacht, aber die Funktion calc funktioniert immer noch nicht 🙁
$("noteAmount")
richtig? -- ist calc($(this).val());
richtig? oder ist es sein soll calc($(this));
ja, ich habe einen Fehler gemacht, aber die Funktion calc funktioniert immer noch nicht 🙁
InformationsquelleAutor JamieSellars | 2012-10-23
Du musst angemeldet sein, um einen Kommentar abzugeben.
Übergeben Sie eine Zeichenkette, die den Wert des input-Elements, sollten Sie sich zuerst übergeben Sie das Objekt statt, beachten Sie, dass Sie verpasst haben, die
#
für den ID-Selektor.Dann können Sie
parent
undnext
Methoden:Bitte beachten Sie, dass, wenn Ihre Elemente haben eine ID-Attribute, können Sie diese direkt, das geht schneller als das Durchlaufen des DOM.
Ich nicht finden können, ein element mit dem ID - noteAmount in Ihrem markup, wenn Sie mehrere Elemente mit den gleichen IDs markup wird ungültig, und Sie werden unerwartete Ergebnisse erhalten , können Sie auch versuchen, die folgenden:
$formElement
Namensschema für jQuery-Objekte.Ich habe einen Fehler gemacht, ich weiß nur das Objekt und nicht der Wert. Habe ich geändert die Frage. sorry
Niceone nicht definiert. Ich werde übernehmen parseInt auch sehr, sehr schön. Danke!
Sie sind herzlich willkommen.
InformationsquelleAutor undefined
Müssen Sie
.next()
auf die.parent()
inputVersuchen
formElement.closest('td').next('td.tblCashSum')
ODER
//
Auch
$("noteAmount")
macht keinen Sinn ...Soll
$('[id*="noteAmount"]')
Sie verwenden müssen .next() auf .parent() input
InformationsquelleAutor Sushanth --