如果选择了所有收音机中的任何一个选项,则显示 Div?
Show Div if any one option from all radios selected?
这个线程上有很多关于 stake over flow 的答案,但他们没有解决我的问题我想做的是我有 4 个同名的收音机,当我 select any其中显示 div 但它只在第一台收音机上工作,而我 select 它在第二台、第三台、第四台、
台不工作
<input class="rad_roof" type="radio" name="fb" id="fb" onchange="show_input()" />
<input class="rad_roof" type="radio" name="fb" id="fb" onchange="show_input()" />
<input class="rad_roof" type="radio" name="fb" id="fb" onchange="show_input()"/>
<input class="rad_roof" type="radio" name="fb" id="fb" onchange="show_input()" />
我正在使用的这个 j 查询函数...
function show_input(){
if($('#roof_types').is(':checked'))
$(".measurement").fadeIn(300);
}
在我的浏览器上使用相同的代码无法在 fiddle 上运行
http://jsfiddle.net/ahmadsaadkhan/x1kn7p8q/
您的标记不正确。 ID 应该是唯一的。
主要问题是您使用不正确的选择器来定位选中的单选按钮。使用:
if($('.rad_roof:checked').length) $("#showdiv").show();
你也可以试试这个,
$(document).ready(function(){
$('.rad_roof').click(function(){
if($(this).is(":checked")){
$(".showdiv").show();
}
});
});
$('.rad_roof').each(function() {
if ($(this).is(':checked')) {
$('.measurement).fadeIn(300);
}
});
有更多的可能性如何实现,其中之一是定义show_input
函数
function show_input() {
return $('#showdiv').show();
}
http://jsfiddle.net/x1kn7p8q/4/
没有这个功能,直接上广播事件:
$('.rad_roof').change(function() {
$('#showdiv').show();
});
http://jsfiddle.net/x1kn7p8q/5/
请注意,在这两个示例中我都避免使用必须唯一的 #fb
。如果你在 JS 中使用 #fb
,它将只与第一个 #fb
一起工作,其他元素上的 attr id 将被忽略。
试试这个并点击任何单选按钮,只有当您点击第一个单选按钮时才会显示警报。
$('#fb').click(function() {
alert('#fb clicked');
});
您的页面必须包含唯一 ID,并且您已经为所有输入提供了重复项,并且您没有定义 javascript 您在 html 中调用 onchange 事件的方法。试试这个代码:
你Html码:
<input class="rad_roof" type="radio" name="fb" id="fb1" />
<input class="rad_roof" type="radio" name="fb" id="fb2" />
<input class="rad_roof" type="radio" name="fb" id="fb3" />
<input class="rad_roof" type="radio" name="fb" id="fb4" />
<div class="showdiv" id="showdiv">
<h2>Facebook</h2>
<br />
<input class="fb" type="text" name="fb" placeholder="Facebook" />
</div>
你的 JS
$('.rad_roof').change(function(){
if ($(this).is(':checked')) $("#showdiv").show();
});
这个线程上有很多关于 stake over flow 的答案,但他们没有解决我的问题我想做的是我有 4 个同名的收音机,当我 select any其中显示 div 但它只在第一台收音机上工作,而我 select 它在第二台、第三台、第四台、
台不工作<input class="rad_roof" type="radio" name="fb" id="fb" onchange="show_input()" />
<input class="rad_roof" type="radio" name="fb" id="fb" onchange="show_input()" />
<input class="rad_roof" type="radio" name="fb" id="fb" onchange="show_input()"/>
<input class="rad_roof" type="radio" name="fb" id="fb" onchange="show_input()" />
我正在使用的这个 j 查询函数...
function show_input(){
if($('#roof_types').is(':checked'))
$(".measurement").fadeIn(300);
}
在我的浏览器上使用相同的代码无法在 fiddle 上运行 http://jsfiddle.net/ahmadsaadkhan/x1kn7p8q/
您的标记不正确。 ID 应该是唯一的。
主要问题是您使用不正确的选择器来定位选中的单选按钮。使用:
if($('.rad_roof:checked').length) $("#showdiv").show();
你也可以试试这个,
$(document).ready(function(){
$('.rad_roof').click(function(){
if($(this).is(":checked")){
$(".showdiv").show();
}
});
});
$('.rad_roof').each(function() {
if ($(this).is(':checked')) {
$('.measurement).fadeIn(300);
}
});
有更多的可能性如何实现,其中之一是定义show_input
函数
function show_input() {
return $('#showdiv').show();
}
http://jsfiddle.net/x1kn7p8q/4/
没有这个功能,直接上广播事件:
$('.rad_roof').change(function() {
$('#showdiv').show();
});
http://jsfiddle.net/x1kn7p8q/5/
请注意,在这两个示例中我都避免使用必须唯一的 #fb
。如果你在 JS 中使用 #fb
,它将只与第一个 #fb
一起工作,其他元素上的 attr id 将被忽略。
试试这个并点击任何单选按钮,只有当您点击第一个单选按钮时才会显示警报。
$('#fb').click(function() {
alert('#fb clicked');
});
您的页面必须包含唯一 ID,并且您已经为所有输入提供了重复项,并且您没有定义 javascript 您在 html 中调用 onchange 事件的方法。试试这个代码:
你Html码:
<input class="rad_roof" type="radio" name="fb" id="fb1" />
<input class="rad_roof" type="radio" name="fb" id="fb2" />
<input class="rad_roof" type="radio" name="fb" id="fb3" />
<input class="rad_roof" type="radio" name="fb" id="fb4" />
<div class="showdiv" id="showdiv">
<h2>Facebook</h2>
<br />
<input class="fb" type="text" name="fb" placeholder="Facebook" />
</div>
你的 JS
$('.rad_roof').change(function(){
if ($(this).is(':checked')) $("#showdiv").show();
});