#javascript #jquery #html
#javascript #jquery #HTML
Вопрос:
Мне очень помогло это сообщество добиться отображения кнопки «далее» при компиляции какого-либо тега ввода. Я использовал этот код:
$('.name').keyup(function() {
$('#next1').toggle(this.value != '');
});
#next1 {
display: none;
}
Но как я могу это изменить, если на моей странице более сложный?
Например, здесь у меня есть некоторый флажок, радиовход и тег выбора.
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="name" type="text" name="name" />
<input type="text" name="phone" placeholder="Phone" />
<label class="radio-inline"><input type="radio" name="internet" value='Y'>Y</label>
<label class="radio-inline"><input type="radio" name="internet" value='N'>N</label>
<label for="degree">Degree</label><br/>
<input type="checkbox" name="degree" value="degree"> Degree
<select id='city' name='city' title='City' class='required1Sel form-control' >
<option value=''></option>
<option value='1'>NY</option>
<option value='2'>LA</option>
<option value='3'>MIAMI</option>
</select>
<div id="next1">
<input type="button" name="next" class="next action-button" value="Next" />
</div>
Комментарии:
1. итак, вы хотите, чтобы следующая кнопка была видна, только если все элементы управления имеют значения … верно??
2. только если все элементы управления имеют значения, кроме «phone». у меня есть больше полей, но не все обязательны.
Ответ №1:
Для выбора или флажка вы можете использовать функцию change().
$('#city').change(function() {
$('#next1').toggle(this.value != '');
});
Смотрите этот JSFiddle: https://jsfiddle.net/fpwo8e7e/1
Комментарии:
1. это работает, но если у меня больше тегов выбора и я использую класс (required1Sel, как в примере), он показывает мне кнопку next, в то время как я скомпилировал только один из них. я пробовал использовать этот код $ (‘.required1Sel’).each(функция() { $(‘.required1Sel’).change(функция() { $(‘#next’).переключить(это.значение != «); }); });
2. Вам нужно поставить «флаги» для каждого ввода. onchange( var changed1 = true). Если (изменено 1 и изменено 2 и изменено 3 …), то showbutton . Или, может быть, вы можете проверить, не равны ли значения ‘ ‘