Jqerry&JS выборка с подсветкой
Существует список ul в каждом из его li 4 поля input, если вводишь в первое поле ничего не происходит,
при вводе во второе background 1 и 3 input становится красным при заполнении краснго фон вновь стандартный если заполнены все фон всех инпутов зеленый. Подскажите плиз кратко путь решения, лучшее что я смог это jqerry на изменение инпута запускается прооверка, если поле пустое устанавливаю красный фон, заполненное обычный, если заполнены все то зеленый, а вот дальше я встрял... |
Цитата:
|
<style> .red { background-color:red; } .green { background-color:green; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> <script> $(document).ready(function(){ function testInp(sel) { var str='' $("input",sel).each(function(){ var a = $(this).attr("data"); if(!a) a='0'; str+=a; }); if(str=='0100'){ $("input",sel).eq(0).addClass("red"); $("input",sel).eq(2).addClass("red"); return; } if(str=='1100'&&$("input",sel).eq(0).hasClass("red")){ $("input",sel).eq(0).removeAttr("class"); return; } if(str=='1110'||str=='0000'){ $("input",sel).removeAttr("class"); return; } if(str=='1111'){ $("input",sel).removeAttr("class"); $("input",sel).addClass("green"); return; } } var wrp = $("#ul_wrp"); $("li > input,wrp").on('change input',function(){ if($(this).val().replace(/\s*/g,'')!='') { $(this).attr("data",1); } else $(this).removeAttr("data"); testInp($(this).parent().parent()); }); }); </script> <div id=ul_wrp> <ul> <li><input type=text></li> <li><input type=text></li> <li><input type=text></li> <li><input type=text></li> </ul> <ul> <li><input type=text></li> <li><input type=text></li> <li><input type=text></li> <li><input type=text></li> </ul> </div> |
Хм.. Для полноты решения тут не хватает iframe'а...
|
Спасибо, большое.
Кстати за какой срок люди обычно начинают нормально кодить(быстро и качественно)Я вот уже месяцев 8 ковыряюсь, но мне кажется я очень медленен, это норм?Бросать я конечно не буду, просто интересно, нормальный у меня темп или нет. |
Цитата:
|
Часовой пояс GMT +3, время: 08:35. |