根据jQuery中的文本框值onload更改CSS样式?

时间:2015-09-17 11:38:05

标签: javascript jquery html css

我尝试使用jQuery 1.9.1根据文本框值创建一些按钮CSS更改onload,但我无法做到这一点。假设在页面加载后,如果文本框的值为YES,则按钮颜色应为绿色,如果另一个文本框的值为NO,则按钮颜色应为蓝色。在HTML中,只有" blue" class被指定为默认值,但jQuery必须更改该onload。这是我的代码:

$(document).ready(function () {
    $('.btn').load(function () {
        var isYes = $(this).next('.assignCheck').val('Y');
        if (isYes) {
            $(this).toggleClass('color-blue color-green');
        }
    });
});

JSFiddle Demo

如何根据页面加载后给出的值更改CSS样式?

1 个答案:

答案 0 :(得分:1)

<强>更新

工作解决方案,

$('.btn').each(function () {
    if ($(this).next('.assignCheck').val() == 'y') {
        $(this).toggleClass('color-blue color-green');
    }
});

JSFiddle Demo

你的第一个问题是这一行:

var isYes = $(this).next('.assignCheck').val('Y');

正在做的事情不是对它进行测试,它正在分配&#39; y&#39;到.assignCheck的值。你需要的是:

var isYes = ($(this).next('.assignCheck').val() == 'y');

或只是

if ($(this).next('.assignCheck').val() == 'y') {
    $(this).toggleClass('color-blue color-green');
}

更多信息@ http://api.jquery.com/val/

其次,.load()已被弃用,请使用each(),因为代码仍会在文档加载上运行。

$('.btn').each(function() { ...