2014-09-09 3 views
0

У меня есть текстовое поле, в котором значение равно 0, когда загружается страница, и я хочу, чтобы в любом числовом поле было значение 0, я хочу, чтобы его цвет фона изменялся при загрузке страницы.Невозможно использовать свойство css в jquery

Я хочу сделать это, используя только jquery.

Мой код для этого не работает, см. Демонстрационную ссылку ниже и предлагайте ошибки.

http://jsfiddle.net/ph43cuhj/1/

Ниже мой код:

$(document).ready(function(){ 
    if($("input:text").val()=='0') 
     $(this).css('background-color','#c0c0c0'); 
}); 
+0

Вы должны использовать цикл для выбора каждого входа, поскольку в настоящее время, $ (это) не определенно ... –

ответ

2

Использование

$(document).ready(function() { 
    $("input:text").change(function() { //Bind change vent 
     if ($(this).val() == '0') { 
      $(this).css('background-color', '#c0c0c0'); 
     }else{ 
      $(this).css('background-color', ''); 
     } 
    }).change(); //Trigger initally 
}); 

DEMO

+0

почему мы использовали .Кнопку() для этого? – Vaibhav

+0

@Vaibhav, для запуска при загрузке страницы – Satpal

1

Попробуйте это:

$(document).ready(function(){ 
    $('input[type="text"]').each(function(){ 
    if($(this).val() == '0') 
    { 
     $(this).css('background-color','#c0c0c0'); 
    } 
    }); 
}); 

DEMO

EDIT: -

ИЛИ Попробуйте:

$(document).ready(function(){ 
    $('input:text').each(function(){ 
     if($(this).val() == '0') 
     { 
      $(this).css('background-color','#c0c0c0'); 
     } 
    }); 
}); 

DEMO

0

Более компактный:

$(document).ready(function() { 
    $('input[type="text"][value="0"]').each(function() { 
     $(this).css('background-color','#f00'); 
    }); 
}); 
0
for(i=0;i<$("body").find("input:text").length;i++) 
{ 
    var el=$("body").find("input:text").eq(i); 
    if(el.val()==0){ el.css('background-color', '#c0c0c0'); } 
    else { el.css('background-color', '#000000'); } 
} 

попробуйте этот код в документе готовой функции

Смежные вопросы