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

时间:2015-02-20 21:59:51

标签: javascript jquery

所以基本上我正在制作一个输入表单,我想稍微设计一下。目前,如果您在字段中输入没有任何值的表单并输入您的值,则它可以正常工作。但是如果某些数据是通过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/

3 个答案:

答案 0 :(得分:6)

只需从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');
    }
});

答案 1 :(得分:1)

你应该删除focusout bind,因为在页面就绪后已经调用了$(function(){})。

答案 2 :(得分:0)

$(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。我删除了焦点,并改变了#34;这个"走到我需要的道路上。