2012-01-13 19 views
5

Bir giriş kutusunun boş olup olmadığını ve düzgün çalışıp çalışmadığını kontrol etmek için bu kodu kullanıyorum, ancak yalnızca sayfa yüklendiğinde değil, bir tuşa basıldığını kontrol ediyor.JQuery Giriş boş olup olmadığını kontrol edin, yükü kontrol etmiyor mu?

Ne gerekiyorsa ama sayfanın yüklenip yüklenmediğini kontrol etmesini istiyorum. sayfa yüklendikten sonra

$('#myID').on('keyup keydown keypress change paste', function() { 
    if ($(this).val() == '') { 
    $('#status').removeClass('required_ok').addClass('ok'); 
    } else { 
    $('#status').addClass('required_ok').removeClass('not_ok'); 
    } 
}); 

cevap

6

Aşağıdakileri deneyin:

$(function() { 
    var element = $('#myID'); 
    var toggleClasses = function() { 
    if (element.val() == '') { 
     $('#status').removeClass('required_ok').addClass('ok'); 
    } else { 
     $('#status').addClass('required_ok').removeClass('not_ok'); 
    } 
    }; 
    element.on('keyup keydown keypress change paste', function() { 
    toggleClasses(); // Still toggles the classes on any of the above events 
    }); 
    toggleClasses(); // and also on document ready 
}); 
+0

Bu benim ile cevap sonra ne yapmak çok daha iyi bir yol olduğunu – atmd

2

Öyleyse neden sadece alanını kontrol Yüklü: Burada

geçerli kod nedir?

$(document).ready(function(){ 
    if ($('#myID').val() == '') { 
    $('#status').removeClass('required_ok').addClass('ok'); 
    } else { 
    $('#status').addClass('required_ok').removeClass('not_ok'); 
    } 
}); 
3

hazır bir doküman üzerinde değer kontrol etmeyi deneyin:

$(function() { 
    if ($('#myID').val() == '') { 
     $('#status').removeClass('required_ok').addClass('ok'); 
    } else { 
     $('#status').addClass('required_ok').removeClass('not_ok'); 
    } 
}); 

DÜZENLEME: Bu yanıt bir güncelleme, güzel bir yaklaşım geçiş sınıfını kullanmak olabilir, tıpkı daha sonra hazır doc tetik kurmak Sayfa yüklemesinde çalıştırılacak olay.

function check() { 
    var $status = $('#status'); 

    if ($(this).val()) { 
     $status.toggleClass('required_ok').toggleClass('ok'); 
    } else { 
     $status.toggleClass('required_ok').toggleClass('not_ok'); 
    } 
} 


$(function() { 
    $('#myID').on('keyup keydown keypress change paste', check); 
    $('#myID').trigger('change'); 
}); 
3

yapmanın en kolay yolu sayfa yüklemesinde keyUp, keydown vb olay herhangi tetiklemek olduğunu. Daha sonra otomatik olarak belirli işleyici arayacak

$(document).ready(function(){ 
    $("#myID").trigger('keyup'); 
}); 
2
$(document).ready(function(){ 
var checkVal = $("myID").val(); 
if(checkVal==''){ 
$('#status').removeClass('required_ok').addClass('ok'); 
} 
else{ 
$('#status').addClass('required_ok').removeClass('not_ok'); 
} 
}); 
İlgili konular