Я хочу, чтобы текстовое поле имени пользователя отображалось, когда были выбраны op1 и op2, и оба текстовых поля, если выбрано op3. У меня странная ошибка, на которой будет выбран любой переключатель, всегда будет отображаться поля ввода имени пользователя и пароля. Почему это происходит?Strange jQuery radio button показать/скрыть ошибку
HTML:
<div>Please select operation:<br />
<input type="radio" id="op1" name="op" value="check_username">Check Username<br />
<input type="radio" id="op2" name="op" value="find_profile">Find Profile<br />
<input type="radio" id="op3" name="op" value="check_credentials">Check Credentials
</div><br />
<div id="un">Username:<br /><input type="text" /></div>
<div id="pwd">Password:<br /><input type="text" /></div>
JQuery:
$(document).ready(function() {
$('#un, #pwd').hide();
$('input[name="op"]').prop('checked', false);
$("input[type=button]").attr("disabled", "disabled");
$('input:radio[name=op]').change(function() {
var op = $('input:radio[name=op]:checked').val();
alert(op);
switch(op) {
case 'check_username':
$('#un').show();
$('#pwd').hide();
case 'find_profile':
$('#un').show();
$('#pwd').hide();
case 'check_credentials':
$('#un, #pwd').show();
}
});
});
делает предупреждение работу? – Vahan
было бы лучше, если бы вы могли привязать переключатели по ID, потому что в противном случае все дерево DOM будет повторяться, чтобы найти все типы радиовходов. Ничего серьезного, но было бы намного чище без необходимости использовать предложения switch. – dinukadev
Вы говорите, что я должен переключиться, используя случаи ID # op1 # op2 # op3 'вместо использования .val() в качестве случаев? –