[英]jQuery Radio Button Show/Hide
我正在尝试使用单选按钮来显示和隐藏div,但是无法使下面的内容起作用,任何帮助都很好吗?
$('input:radio[name="option"]').click(function() {
if ( $(this).val() == "pop" ) {
$(this).parent().next('.wrapper').show();
} else {
$(this).parent().next('.wrapper').hide();
}
});
<input name="option" type="radio">
<input name="option" type="radio" value="pop">
<div class="wrapper">text</div>
删除parent()
,因为.wrapper
元素与输入处于同一级别。
您还需要nextAll
,而不是next
,因为next
仅选择紧随其后的同级项。
工作代码:
$('input:radio[name="option"]').click(function() {
var $this = $(this);
if ( $this.val() == "pop" ) {
$this.nextAll('.wrapper').show();
} else {
$this.nextAll('.wrapper').hide();
}
});
如果只需要后面的第一个.wrapper
元素,则可以使用此元素:
$('input:radio[name="option"]').click(function() {
var $this = $(this), $wrapper = $this.nextAll('.wrapper').eq(0);
if ( $this.val() == "pop" ) {
$wrapper.show();
} else {
$wrapper.hide();
}
});
您的.parent().next('wrapper').
没有什么可抓住的(没有这样的元素)。
这会起作用
$('.wrapper').show();
尝试这个:
$(document).ready(function(){
$("input[value='pop']").on("click", function() {
$(".wrapper").toggle();
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.