我要创建3个单选按钮供用户选择。一旦用户点击该按钮,它将向用户显示用户选择的单选按钮的描述。
例如
- if user select first radio button ==> it will show the description under that
radio button
- if user select second radio button ==> it will show the description under that
radio button
- if user select third radio button ==> it will show the description under that
radio button
我的代码
<p><input type='radio' name='content_type' value='1' /> This is content A of request</p>
<p><input type='radio' name='content_type' value='2' /> This is content B of request</p>
<p><input type='radio' name='content_type' value='3' /> This is content C of request</p>
<div id='show'></div>
的Javascript
$(document).ready(function(){
$('#content_type').on('change', function(){
var n = $(this).val();
switch(n)
{
case '1':
document.getElementById('#show').innerHTML="1st radio button";
break;
case '2':
document.getElementById('#show').innerHTML="2nd radio button";
break;
case '3':
document.getElementById('#show').innerHTML="3rd radio button";
break;
}
});
我上面的代码不起作用。任何人都可以帮我展示这个问题吗?
提前感谢
答案 0 :(得分:3)
您错误地使用了jQuery选择器。您还需要关闭$(document).ready()。正确的代码:
$(document).ready(function(){
$('input[name=content_type]').on('change', function(){
var n = $(this).val();
switch(n)
{
case '1':
$('#show').html("1st radio button");
break;
case '2':
$('#show').html("2nd radio button");
break;
case '3':
$('#show').html("3rd radio button");
break;
}
});
});
答案 1 :(得分:0)
使用此代码:
$('input[name=content_type]').on('change', function(){
OR
$('input[type=radio]').on('change', function(){
#content_type
表示您正在选择名为content_type的id的元素。你没有这样的元素。
之后你的JS代码将是:
$(document).ready(function(){
$('input[type=radio]').change(function(){
var n = $(this).val();
switch(n)
{
case '1':
$('#show').html("1st radio button");
break;
case '2':
$('#show').html("2nd radio button");
break;
case '3':
$('#show').html("3rd radio button");
break;
}
});
});
答案 2 :(得分:0)
你的选择器错了。
1)您应使用#content_type
input[name=content_type]
。
2)另外,从getElementById中移除#
:
document.getElementById('#show')
应该是
document.getElementById('show')
或将其更改为使用jQuery:
$('#show').html("1st radio button");
答案 3 :(得分:0)
这是修改过的html ....我只是在您的消息中添加了一个范围
<p><input type='radio' class="rad" name='content_type' value='1' /> <span >This is content A of request</span></p>
<p><input type='radio' class="rad" name='content_type' value='2' /> <span>This is content B of request</span></p>
<p><input type='radio' name='content_type' value='3' /> <span>This is content C of request</span></p>
<div id='show'></div>
这是jQuery
$(document).ready(function(){
$('span').hide();
$('input[name="content_type"]').on('change',function(){
$('span').hide();
$(this).next().show();
});
});
这是demo