如果输入有值,则更改css类

时间:2013-08-27 15:53:32

标签: javascript jquery

如果输入字段的值为

,如何更改输入字段的CSS类

示例:

<input name='referrer' type='text' class='input-xlarge placeholder' placeholder='Referrer' value='{$ref}'  style='width:346px;'>

目前,我这样做:

if ($('#reffield').val() != ''){ $('#reffield').addClass('classname'); } 

但这没有任何影响,也不会产生任何错误。

4 个答案:

答案 0 :(得分:4)

您需要在标记内指定id属性,如下所示:
    <input id="reffield" name='referrer' type='text' class='input-xlarge placeholder' placeholder='Referrer' value='{$ref}' style='width:346px;'>

您的jQuery选择器无法根据您的HTML找到ID为“reffield”的元素。

答案 1 :(得分:1)

#reffieldan id selector.它根据id属性的值匹配元素。您的输入没有id属性,您应该设置一个:

<input id='referrer' name='referrer' type='text' 

答案 2 :(得分:0)

找不到ID标签,

您需要在keydown函数或某些条件下编写脚本。

$('input').keydown(function(e){

        $("#reffield").css( { backgroundColor:"blue" } );

});

DEMO

答案 3 :(得分:0)

此代码使用值!=“”

更改每个输入类名称
$('input[value!=""]').each(function() {
    this.className = "className";
});

如果您想要更改具有给定ID的特定输入

<input id="reffield" value="..:" ../>

然后

$('#reffield[value!=""]')[0].className = "className";

如果您想根据名称更改特定输入

 // if ($('input[name="reffield"][value!=""]')[0])
       $('input[name="reffield"][value!=""]')[0].className = "classname"

您可以阅读documentation of selectors

注意:你说“改变类”而不是“添加类”。在第二种情况下,您应该使用.addClass方法而不是.className属性