Mit JQuery onblur zu setzen textbox Wert
Ich habe eine textbox mit folgenden Regeln:
1) ich füllen Sie die textbox.text aus einem Wörterbuch in der Sitzung
2) Wenn der Benutzer einen neuen Wert, setTextBoxData wird, speichern Sie es in das Wörterbuch
3) Auf Eingabe (Fokus auf) das Feld "text" ist ausgeblendet.
4) Auf Unschärfe, wenn das Feld noch leer ist, möchte ich Sie auf den ursprünglichen Wert.
<asp:TextBox ID="txtNumberEmployees" runat="server" Width="50px" onfocus="this.value='';"
onchange= "javaScript:$(function()setTextBoxData('NUMBEREMPLOYEES','txtNumberEmployees');});"
onblur="javaScript:restore ('txtNumberEmployees', 'NUMBEREMPLOYEES');"/>
Den "wiederherstellen" - Funktion oben verwiesen wird:
function restore(control, input) {
var data = getInputData(input);
$('#' + control).val(data);
}
getInputData gibt den Daten-Wert korrekt. Das problem mit der letzten Zeile.
Ich habe viele Wege versucht, um dies festzulegen, aber keiner scheint zu funktionieren. Es sollte ein einfaches problem, aber ich kann nicht damit es funktioniert doch.
- sieht aus wie ein syntax Fehler:
javaScript:$(function()setTextBoxData('NUMBEREMPLOYEES','txtNumberEmployees');});
sollte es nicht nur seinjavaScript:setTextBoxData('NUMBEREMPLOYEES','txtNumberEmployees');
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem ist ASP.NET generiert eine ID, die nicht
txtNumberEmployees
. ASP.NET generiert eine ID für deinen input, der wird am Ende mittxtNumEmployees
.Ändern Sie diese Zeile:
zu diesem:
Wird es funktionieren, denn dies ist die Attribut Endet mit Selektor.
1: Stellen Sie sicher, Sie haben keinen javascript-Fehler. Ich sehe, es gibt eine fehlende '{' in das onchange.
2: Sie können einfach vorbei kommen 'diese' wie das textbox-Referenz und aktualisieren Sie es wie unten:
dann einfach den Wert wie:
3: Es gibt andere Möglichkeiten als gut zu greifen ein asp.net element-wie hier gezeigt. Finden ASP.NET ClientID in jquery