jQuery用on focusout事件替换文本框值

时间:2014-01-19 12:47:38

标签: javascript jquery

我正在尝试使用on focusout事件向文本框添加一些文本。

我的JS代码是:

jQuery(".search-field input:text").focusout( function() {
    var ckClass = jQuery(this).attr('class').split(' ')[1];

    if(ckClass == 'inp_pa_bedroom'){
        jQuery('.inp_pa_bedroom').val('Hi I am replace');
    }else if(ckClass == 'inp_pa_bathroom'){
        jQuery('.inp_pa_bedroom').val('Hi I am replace');
    }
});

我根据此变量应用了一些条件:var ckClass,但值正在替换并消失。

如果有人引导我,我会感激的。

2 个答案:

答案 0 :(得分:0)

jQuery(function($){ // DOM ready and secure $ alias

 $('.search-field').find(".inp_pa_bedroom, .inp_pa_bathroom").focusout(function(){
    this.value = "Hi I am replace";
 });

 // Other DOM ready code here.
 // Use $ instead of jQuery if you care about your keyboard

});

为什么不立即定位所需的class元素?
转到jQuery API文档,您可以在那里找到.find()方法。

答案 1 :(得分:-1)

尝试使用hasClass()函数。使用“.on”代替焦点。

jQuery(".search-field input:text").on('focusout', function() {    
    if(jQuery(this).hasClass('inp_pa_bedroom')){
        jQuery(this).val('Hi I am replace');
    }else if(jQuery(this).hasClass('inp_pa_bathroom')){
        jQuery(this).val('Hi I am replace');
    }
});