0

我有一些通过选择菜单显示/隐藏的文本字段。发生这种情况时,监视文本字段值以进行更改的脚本不会正确触发。出于某种原因,它没有注意到这种变化。

脚本:

var somethingChanged = false;
$(document).ready(function(){
    $('input, select').change(function() { 
        somethingChanged = true; 
        console.log($(this).attr('name')+ ' has changed'); 

$('input[class*=input]').focus(function () {
    if ($(this).hasClass('left')) {
    $(this).parent().addClass("lightOverlay");
    console.log($(this).attr('name')+ ' added lightOverlay'); 
    }
}).blur(function () {
    if (this.value == ''){
        $(this).parent().removeClass('lightOverlay')
        console.log($(this).attr('name')+ ' removed lightOverlay'); 
    }
})

$('input[class*=input]').focus(function () {
    if ($(this).hasClass('right')) {
    $(this).parent().addClass("lightOverlayRight");
    console.log($(this).attr('name')+ ' added lightOverlayRight'); 
    }
}).blur(function () {
    if (this.value == ''){
        $(this).parent().removeClass('lightOverlayRight')
    console.log($(this).attr('name')+ ' removed lightOverlayRight'); 
    }
})
})
}); 

选择菜单更改时如何执行此代码?

这是带有完整代码的网站:http: //2plygraphics.com/im-here/

您将在网站上看到,如果您将值添加到 3 个名称,然后将其设置为 7 个名称,则右侧的名称不会正确应用背景图像,直到您单击它们...我想要代码检查选择菜单更改并相应地更新背景。

我想把它改成这样(基本上把整个东西包装在一个函数中,当点击选择菜单时调用这个函数):

var somethingChanged = false;
$(document).ready(function(){

    $('select').click (function () {
    $('input, select').change(function() { 
        somethingChanged = true; 
        console.log($(this).attr('name')+ ' has changed'); 

$('input[class*=input]').focus(function () {
    if ($(this).hasClass('left')) {
    $(this).parent().addClass("lightOverlay");
    console.log($(this).attr('name')+ ' added lightOverlay'); 
    }
}).blur(function () {
    if (this.value == ''){
        $(this).parent().removeClass('lightOverlay')
        console.log($(this).attr('name')+ ' removed lightOverlay'); 
    }
})

$('input[class*=input]').focus(function () {
    if ($(this).hasClass('right')) {
    $(this).parent().addClass("lightOverlayRight");
    console.log($(this).attr('name')+ ' added lightOverlayRight'); 
    }
}).blur(function () {
    if (this.value == ''){
        $(this).parent().removeClass('lightOverlayRight')
    console.log($(this).attr('name')+ ' removed lightOverlayRight'); 
    }
})
})
    });
}); 

但这似乎不起作用....这里的菜鸟中央!请帮忙!

4

1 回答 1

0

您是否尝试过用于 textinput 的 keyup?

例子

$('input[type=text]').keyup(function() { 
于 2014-04-17T04:37:14.347 回答