Не работает 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, время: 06:37. |