单击单选按钮更改div文本

时间:2012-10-23 10:44:39

标签: javascript jquery

我想将单选按钮值放在状态div中。状态div的文本应根据用户选择的单选按钮进行更改。 我用过的代码不起作用。请帮忙。谢谢!

HTML code:

 <form action="">
     <input type="radio" name="sex" value="male">Male<br>
     <input type="radio" name="sex" value="female">Female<br>
     <div id="status"></div>
  </form>​

JS代码:

 $(document).ready(function () {
    RadioStatus="";

    $("input[type='radio']:checked").each( function()
    { 
        if ($(this).attr('checked');)
              RadioStatus=$(this).val();
              $("#status").text(RadioStatus);
        });

    $("input[type='radio']").change(function()  
     {
             RadioStatus= $('input[type='radio']:checked').val()
            $('#status').text(RadioStatus);        
    });
});

7 个答案:

答案 0 :(得分:6)

这应该有效:

$("input[type='radio']").click(function() {
    $('#status').text($(this).val());
});

答案 1 :(得分:1)

对您的代码进行一些小的调整让它工作得很好:

$(document).ready(function () {
    RadioStatus="";

    $("input[type='radio']:checked").each( function()
    { 
        if ($(this).attr('checked'))
              RadioStatus=$(this).val();
              $("#status").text(RadioStatus);
        });

    $("input[type='radio']").change(function()  
     {
             RadioStatus= $('input[type="radio"]:checked').val();
            $('#status').text(RadioStatus);        
    });
});​

请参阅:http://jsfiddle.net/f6Tru/

..或者你可以真的使用techfoobar来简化它:

$(document).ready(function () {
    $("input[type='radio']").click(function() {
        $('#status').text($(this).val());
    });
});​

代替。见:http://jsfiddle.net/RrhYM/

答案 2 :(得分:1)

您的单引号'

出现问题

变化:

RadioStatus= $('input[type='radio']:checked').val()

要:

RadioStatus= $('input[type="radio"]:checked').val()

答案 3 :(得分:1)

试试此代码

$('input[name ^=sex]').click(function() {
        $('#status').text($(this).val());
});

答案 4 :(得分:1)

只需使用change确定已选择单选按钮。然后使用htmltext将所选单选按钮的值附加到<div id="status">

$(document).ready(function () {
    $('input[type=radio]').on("change", function() {
        $('#status').html($(this).val());
        // Alternative
        // $('#status').text($(this).val());
    });
});​

DEMO

答案 5 :(得分:1)

demo

$("input:radio").click(function() { //use $("input:radio[name='sex']").click if more radio buttons there
  $('#status').text($(this).val());
});​

答案 6 :(得分:0)

您可以使用以下JS代码实现此目的:

$("input").click(function(e){
     var selectedValue = e.currentTarget.value;                 
    $('#status').html(selectedValue );       
});