Показать div при выборе переключателя
Я новичок в javascript и jQuery.
В моем html есть 2 переключателя и один div. Я хочу показать, что div, если я проверю первую радиокнопку, но в противном случае я хочу, чтобы она была скрыта.
so: Если отмечена радиокнопка # watch-me → div # show-me.
Если переключатель # watch-me не отмечен (ни один из них не отмечен, либо второй отмечен) → div # show-me скрыт.
Вот что я до сих пор.
<form id='form-id'>
<input id='watch-me' name='test' type='radio' /> Show Div<br />
<input name='test' type='radio' /><br />
<input name='test' type='radio' />
</form>
<div id='show-me' style='display:none'>Hello</div>
и JS:
$(document).ready(function () {
$("#watch-me").click(function() {
$("#show-me:hidden").show('slow');
});
$("#watch-me").click(function(){
if($('watch-me').prop('checked')===false) {
$('#show-me').hide();}
});
});
Как мне изменить мой script, чтобы достичь этого?
Ответы
Ответ 1
Я бы справился с этим так:
$(document).ready(function() {
$('input[type="radio"]').click(function() {
if($(this).attr('id') == 'watch-me') {
$('#show-me').show();
}
else {
$('#show-me').hide();
}
});
});
Ответ 2
Элементы ввода должны иметь атрибуты значений. Добавьте их и используйте это:
$("input[name='test']").click(function () {
$('#show-me').css('display', ($(this).val() === 'a') ? 'block':'none');
});
Пример jsFiddle
Ответ 3
$('input[name=test]').click(function () {
if (this.id == "watch-me") {
$("#show-me").show('slow');
} else {
$("#show-me").hide('slow');
}
});
http://jsfiddle.net/2SsAk/2/
Ответ 4
$('input[type="radio"]').change(function(){
if($("input[name='group']:checked")){
$(div).show();
}
});