Uncaught TypeError: Cannot read property 'match' undefined
mit diesem Stück von jQuery ich prüfen, ob einige Felder von übereinstimmung oder nicht leer sind, aber ich bekomme diese Fehlermeldung.
Uncaught TypeError: Cannot read property 'match' undefined
Kann mir jemand sagen was mache ich hier falsch?
if ( width.match( /^\d+$/ ) && height.match( /^\d+$/ ) && type.length > 0 && color.length > 0 ) {
Dies ist der vollständige code:
if( $( "#config" ) ) {
$( 'input, select' ).on( 'change', function(){
var width = $( "#config-steps #width" ).val();
var height = $( "#config-steps #height" ).val();
var type = $( "#config-steps #type" ).val();
var color = $( "#config-steps #selected-color" ).val();
if ( width.match( /^\d+$/ ) && height.match( /^\d+$/ ) && type.length > 0 && color.length > 0 ) {
$( "#checkout-message" ).show();
//Change visible price
$( "#change-price" ).html( calculate_price().toFixed( 2 ) );
} else {
return false;
}
});
}
Entfernen Sie die Leerzeichen aus, nachdem die Variablen-Deklarationen.
Eine oder mehrere Variablen nicht definiert sind. Sind Sie sicher, dass Ihre Selektoren sind gut?
Oh okay. Wie kann ich überprüfen, ist es der richtige Weg dann?
Es bedeutet
Eine oder mehrere Variablen nicht definiert sind. Sind Sie sicher, dass Ihre Selektoren sind gut?
if( $( "#config" ) )
ist immer wahr mit jQuery!Oh okay. Wie kann ich überprüfen, ist es der richtige Weg dann?
Es bedeutet
#width
oder #height
oder beide wurden nicht gefunden oder sind nicht ein Nachkomme von #config-steps
.InformationsquelleAutor Robbert | 2014-04-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
ist immer wahr mit jQuery da jQuery ein Objekt zurückgegeben, und die Objekte sind truthy. Überprüft werden soll, überprüfen die Länge, die eine Zahl zurückgeben und keine ist falsch.
Nun, wenn jQuery nicht finden, ein element, als val() undefined zurück, so ist es nicht zu finden das element.
InformationsquelleAutor epascarello