2015-09-17 55 views
1

我试图做一些按钮CSS更改onload取决于使用jQuery 1.9.1的文本框的值,但我无法做到这一点。假设页面加载后,如果文本框的值为YES,那么按钮颜色应该是绿色,如果另一个文本框的值是NO,那么按钮颜色应该是蓝色。在HTML中,只有“蓝色”类被指定为默认,但jQuery必须改变该onload。这里是我的代码:根据jQuery中的文本框值onload更改CSS样式?

$(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

UPDATE

工作方案,

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

JSFiddle Demo

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

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

那是什么做的是没有测试它,它正在分配'y'值为.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/

其次,​​已被弃用,改为使用each(),因为代码将在文档加载时运行。

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

这是我第一次猜测,但它没有奏效。在您的帖子后再次尝试。还是行不通。 –

+0

仍然无法正常工作。 –

+1

重做它以使用each()。现在在小提琴工作:http://jsfiddle.net/cygud48a/4/ –