Jquery检查页面加载时的文本值

Jquery check for text value on page load

本文关键字:文本 加载 检查 Jquery      更新时间:2024-02-26

所以基本上我正在制作一个输入表单,我想对它进行一些样式化。目前,如果您在字段中没有任何值的情况下输入表单,并输入您的值,则会起作用。但是,如果某些数据是通过PHP或value="标记粘贴的,则不起作用。我理解为什么它不起作用,因为脚本是在聚焦时触发的。现在我的问题是,如何修改脚本,以便在加载和触发后立即检查文本值?

$(function () {
    $('.settingsv2 .input_effect input').focusout(function () {
        var text_val = $(this).val();
        if (text_val === "") {
            $(this).removeClass('has-value');
        } else {
            $(this).addClass('has-value');
        }
    });
});

http://jsfiddle.net/202ap3pw/1/

只需将函数从focusout中取出,并在文档就绪时启动它:

$(function () {
    var text_val = $(.settingsv2 .input_effect input).val();
    if (text_val === "") {
        $(.settingsv2 .input_effect input).removeClass('has-value');
    } else {
        $(.settingsv2 .input_effect input).addClass('has-value');
    }
});

您应该删除focusout绑定,因为$(function(){})在页面准备好后已经被调用。

$(document).ready(function(){ 
    var text_val = $('.settingsv2 .input_effect input').val();    
    //alert(text_val);
    if(text_val === "") {      
      $('.settingsv2 .input_effect input').removeClass('has-value');      
    } else {      
      $('.settingsv2 .input_effect input').addClass('has-value');      
    }    
}); 

这就是我所做的,感谢APAD1和zim32。我去掉了focusout,把"this"改成了我需要的路径。