我有多组yes/no单选按钮,可以根据单选项值隐藏或显示div。如何只选择与所更改的单选按钮集最接近的div?
http://jsfiddle.net/infatti/esLMh/
这是可行的,但会更改页面上的所有div,而不是仅更改最近的div。
$('.hide-show input').change(function() {
$('.hide-show-yes').toggle(this.value == 'yes');
$('.hide-show-no').toggle(this.value == 'no');
});
$('.hide-show input:checked').change(); //trigger correct state onload
当一个页面上有多个集合时,我如何只影响离广播集合最近的div?
$('.hide-show input').change(function() {
$(this).next('.hide-show-yes').toggle(this.value == 'yes').next('hide-show-no').toggle(this.value == 'no');
});
$('.hide-show input:checked').change(); //trigger correct state onload
发布于 2013-04-19 17:55:26
你需要访问单选按钮的父div的下一个元素,你可以这样做
$('.hide-show input').change(function() {
$(this).closest('div').next('.hide-show-yes').toggle(this.value == 'yes');
$(this).closest('div').next('.hide-show-no').toggle(this.value == 'no');
});
$('.hide-show input:checked').change(); //trigger correct state onload
发布于 2013-04-19 17:51:54
给你的输入字段一个id,你可以控制id,这样你就可以这样做了
$('#radioButtonOne').change(function() {
和
$('#radioButtonTwo').change(function() {
通过这种方式,您可以始终确保知道正在更改的内容,并根据这些更改执行不同的功能。
我还建议每个状态只有一个div,这样您就可以更改div的文本,而不是隐藏和显示多个div。
我还推荐使用on jquery函数,这样您可以更改DOM,但仍然可以侦听可能创建的新元素。
$("#radioButtonOne").on("change", function(event){
发布于 2013-04-19 18:02:57
$('.hide-show input').change(function() {
$(this).parent().next().toggle(this.value == 'yes');
$(this).parent().next().next().toggle(this.value == 'no');
});
$('.hide-show input:checked').change(); //trigger correct state onload
https://stackoverflow.com/questions/16110565
复制相似问题