Не работает jquery-скрипт
Всем привет, есть jquery скрипт:
$(document).ready(function() { $('#data_v-gwert').change(function(){ if($(this).val() <= "5000"){ $("#block1_5000").css ("display", "block"); $("#block2_5000").css ("display", "block"); $("#block3_5000").css ("display", "block"); $("#block4_5000").css ("display", "block"); } else { $("#block1_5000").css ("display", "none"); $("#block2_5000").css ("display", "none"); $("#block3_5000").css ("display", "none"); $("#block4_5000").css ("display", "none"); } }); }); и элементы таблицы, которые я хочу скрыть/открыть <td id="block1_5000" style="display: none;">тест</td> и тд.. Это всё делается в зависимости от числа, которое ввёл в инпут с ид data_v-gwert Но оно не работает:С Ошибок валидатор не выдал. ЧЯДНТ? :help: |
maksqwerty,
Попробуйте $('#data_v-gwert').on('input', function(){ if($(this).val() <= 5000){ |
большое спасибо, сдвижение есть.
Но, как всегда есть одно "но", элемент с ид data_v-gwert - поле, которое получает значение, после двух других полей (т.е data_v-gwert = a*b, к примеру, где a и b - другие поля.) так что, в этом случае ваш метот не работает :С и второе "но" у меня есть : <td id="block1_5000" style="display: none;">тест</td> <td id="block2_5000" style="display: none;">тест</td> <td id="block3_5000" style="display: none;">тест</td> <td id="block4_5000" style="display: none;">тест</td> Т.е это целая строка таблицы, и когда я всё-же вписал вручную значение, и ваше решение заработало, таблица создалась как-то некоректно. Могу ли я обернуть целую строку таблицы в какой-то див (но что-бы он поддерживал универсальные атрибуты и стили)? В форму я обернуть не смогу, наверное, так как эти значения потом буду в бд передавать |
maksqwerty,
Цитата:
Цитата:
|
Цитата:
Всё-равно, какой value будет в a или в b, главное, что будет в результате Я обернул эти ячейки в общий див, но не могу прописать этоу диву style = "display:block" :cray: |
Либо так
A<input id="data_a-gwert" type = "text" value = "1"> B<input id="data_b-gwert" type = "text" value = "1"> <input id="data_v-gwert" type = "text" disabled> <table> <tr id="block_5000" > <td id="block1_5000" >тест</td> <td id="block2_5000" >тест</td> <td id="block3_5000" >тест</td> <td id="block4_5000" >тест</td> </tr> <table> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script> $('#data_a-gwert, #data_b-gwert').on("input",function(){ $('#data_v-gwert').val($('#data_a-gwert').val() * $('#data_b-gwert').val()) ; if($('#data_v-gwert').val() <= 5000){ $("#block_5000").css ("display", "block"); } else { $("#block_5000").css ("display", "none"); } }); </script> либо так A<input id="data_a-gwert" type = "text" value = "1"> B<input id="data_b-gwert" type = "text" value = "1"> <input id="data_v-gwert" type = "text" disabled> <table> <tr id="block_5000" > <td id="block1_5000" >тест</td> <td id="block2_5000" >тест</td> <td id="block3_5000" >тест</td> <td id="block4_5000" >тест</td> </tr> <table> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script> $('#data_a-gwert, #data_b-gwert').on("input",function(){ $('#data_v-gwert').val($('#data_a-gwert').val() * $('#data_b-gwert').val()) ; if($('#data_v-gwert').val() <= 5000){ $("#block1_5000").css ("display", "table-cell"); $("#block2_5000").css ("display", "table-cell"); $("#block3_5000").css ("display", "table-cell"); $("#block4_5000").css ("display", "table-cell"); } else { $("#block1_5000").css ("display", "none"); $("#block2_5000").css ("display", "none"); $("#block3_5000").css ("display", "none"); $("#block4_5000").css ("display", "none"); } }); </script> |
Dilettante_Pro,
большое спасибо за ваш ответ, но эти a и b - это был только пример. На самом деле это ячейки с другой динамической таблицы, которая написана на обычном js. А может можно сделать скрытый селект, который менял бы свои значения в зависимости от data_v-gwert и уже отталкиваться от этого селекта? Или это тоже идея так себе? : / |
maksqwerty,
А чем вам не нравится data_v-gwert ? Вы же ее когда-то заполняете? вот при этом и проверяйте ее значение и показывайте/скрывайте ячейки. Цитата:
|
Dilettante_Pro,
да она то мне всем нравится:) Приведу часть кода с той таблицы, которая отвечает за заполнение этого поля: function wertzahl() { gwert = 0; wertsum = 0; for ( var wertindex =1; wertindex<40; wertindex++){ var preis100sum = parseFloat(document.getElementById('preispro100'+wertindex).value); var mengesum = parseInt(document.getElementById('menge'+wertindex).value); var wertsum = preis100sum/100 * mengesum; //Wert document.getElementById('wert'+wertindex).value = wertsum; //Gwert var gwert; gwert += wertsum; if (isNaN(gwert)==true) gwert = 0; document.getElementById('data_v-gwert').value = gwert; } } и вот как выглядит сам мой data_v-gwert: <input type="number" step="0.01" id="data_v-gwert" onfocus="wertzahl()" class="form-control"> Просто я в jquery (как и в js) новичок, и не знаю, как верно использовать события |
maksqwerty,
Увы, уже убегаю - может, кто еще поможет |
Часовой пояс GMT +3, время: 03:35. |