3

我将创建 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' />&nbsp;This is content A of request</p>
<p><input type='radio' name='content_type' value='2' />&nbsp;This is content B of request</p>
<p><input type='radio' name='content_type' value='3' />&nbsp;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;
        }
    });

我上面的代码不起作用。谁能帮我说明这个问题?

预先感谢

4

4 回答 4

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;
        }
    });
});

JSfiddle

于 2013-10-31T08:31:02.830 回答
0

使用此代码:

$('input[name=content_type]').on('change', function(){

或者

$('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;
        }
    });
});
于 2013-10-31T08:28:32.303 回答
0

你的选择器是错误的。

1)而不是#content_type,你应该使用input[name=content_type]

2)另外,#从 getElementById 中删除:

document.getElementById('#show')

应该

document.getElementById('show')

或将其更改为使用 jQuery:

$('#show').html("1st radio button");
于 2013-10-31T08:28:35.763 回答
0

这是修改后的 html ....我只是在您的消息中添加了一个跨度

 <p><input type='radio' class="rad" name='content_type' value='1' />&nbsp;<span >This is content A of request</span></p>
<p><input type='radio' class="rad" name='content_type' value='2' />&nbsp;<span>This is content B of request</span></p>
<p><input type='radio'  name='content_type' value='3' />&nbsp;<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();
    });
});

这是演示

于 2013-10-31T08:37:22.440 回答