2017-06-19 6 views
0

Ich möchte eine bestimmte Eingabe für das div auswählen, aber es wählt nicht aus, wenn ich Label auswählen funktioniert es gut. Die Codezeile mit Sternen ist, wo das Problem unten im Code:Kann die Eingabe des div nicht auswählen

$('#billing_first_name, #billing_last_name, #billing_city').click(function() { 

var label = $("label[for='"+this.id+"']"); 
//this line below does not work 
**var input = $("input[for='"+this.id+"']");** 

$(this).on('blur', function() { 

    if (($(this).val() === '') || (!$(this).val().match('^[a-zA-Z]{3,16}$'))) { 
     input.css("border-color", "#ff0000"); 
     label.css("color", "#ff0000"); 
    } else{ 
     input.css("border-color", "#ccc"); 
     label.css("color", "#404040"); 
    } 


}) 

$('.backToCheckout').click(function(){ 
    input.css("border-color", "#ccc"); 
    label.css("color", "#404040"); 
}) 

}); 

Ich freue mich auf einige Tipps und Hilfe danke.

+0

Eingang des nicht verwenden 'for' Attribute, so sei denn, Sie setzen Sie ein auf Ihre Eingangselement tatsächlich aus irgendeinem Grund, als die Wähler gewonnen 't arbeiten, um es zu finden –

+2

Binden Sie nie Ereignishandler innerhalb des Ereignisbehandlers – Satpal

+0

bitte erklären Sie, was Sie erreichen möchten – clarkoy

Antwort

1

wenn Sie mit dem ID auswählen müssen, dann versuchen Sie diese

var input = $("input#" + this.id); 
+0

warum nicht nur 'var input = $ (this)'? – Satpal

Verwandte Themen