如何获得单选按钮值

时间:2013-07-29 12:10:22

标签: jquery ajax codeigniter

我使用以下代码获取单选按钮值但是没有得到。我需要获得这个单选按钮值。请帮助我谢谢

<input type="radio" id="high" name="high" value="Y" />
<label> Y </label>&nbsp;&nbsp;&nbsp;&nbsp;
<input type="radio" id="high" name="high"  value="N"/>
<label> N </label>

submitHandler: function () {
    var form_data = {
        state: $("#state").val(),
        fiscal_yr: $("#fiscal_yr").val(),
        high: $("#high").val(),
        date_biennial_budget: $("#date_biennial_budget").val(),
        //  password: $("#password").val(),
        is_ajax: 1

    };
    $.ajax({
        cache: false,
        type: "POST",
        url: '<?php echo base_url();?>survey/actual_budget',
        data: form_data,
        success: function (response) {
            if (response != 'failed') {
                $("#content").load("<?php echo base_url().'survey/actual_budget' ?>");
            }
        }
    });
}
});

5 个答案:

答案 0 :(得分:2)

您可以使用以下方式获取单选按钮输入的值:

high: $("input:radio[name=high]:checked").val()

拿出身份证。在现实生活中具有相同身份证的两个人被称为身份盗窃并且是非法的。它也应该是HTML格式。

答案 1 :(得分:1)

正如其他人所提到的,您可以使用input:radio[name="high"]:checked选择器和jQuery val()方法来完成此操作,但我想我会添加一些可能有助于未来访问者的改进:

标签:如果标签没有附加到实际元素,标签的整个点就会丢失。因此,要么将元素包含在标签内,要么在为输入分配ID后使用for属性:

<!-- One way to do this -->
<label><input type="radio" id="high" name="high" value="Y" /> Y </label>

<!-- Or another way -->
<input type="radio" id="uniqueID" name="high" value="Y" />
<label for="uniqueID"> Y </label>

这改善了可访问性。屏幕阅读器不会看到浮动的随机表单标签,普通用户可以点击标签来选择该选项。

CSS标识符:标识符应该是唯一的。如果你在文档中使用多个,我甚至不确定会发生什么。我有一些错误,其中代码的一部分取决于选择器不起作用,或者它只适用于第一个元素。如果我发现任何一贯奇怪的行为,我会调查并更新,但最重要的是保持您的ID唯一。

序列化表单数据:由于您已经包含了jQuery,因此您可以使用两种方法为您序列化表单。当然,我假设这些都在同一个表单中,否则你将不得不编写一个可能很复杂的选择器来选择你想要的表单元素。如果是,您可以执行以下操作之一:serialize()serializeArray()

// Returns the formdata serialized as a string, similar to a GET request
$('form#selector').serialize();

// Returns the formdata serialized as an array, use if you want to send JSON etc.
$('form#selector').serializeArray();

答案 2 :(得分:0)

将id更改为class并使用类选择器。

 <input type="radio" class="high" name="high" value="Y" /><label> Y </label>&nbsp;&nbsp;&nbsp;&nbsp; 
<input type="radio" class="high" name="high"  value="N"/><label> N </label>


 ...
 high:$('input[name="high"]:checked').val();
 ...

注意:ID应始终是唯一的。

或者您可以将表单序列化并将其作为对象发送

 $.ajax({
    cache : false,
    type: "POST",
    url: '<?php echo base_url();?>survey/actual_budget',
    data: $('#formID').serialize(),

您可以使用..

获取发布的值
 $this->input->post('inputName');

答案 3 :(得分:0)

For getting selected radio button value use following in jquery:
var value=$("input[type=radio]:checked").val();
or 
var value=$('input[name=radiobuttonname]:checked').val()

So, your code will be like this :
 <input type="radio" id="high" name="high"  value="Y" /><label> Y </label>&nbsp;&nbsp;&nbsp;&nbsp; 
       <input type="radio" id="high" name="high"  value="N"/><label> N </label>

        submitHandler: function() {
        var form_data = {
            state: $("#state").val(),
            fiscal_yr: $("#fiscal_yr").val(),
            high: $("input[type=radio]:checked").val(),
            //high: $("input[name=high]:checked").val(),
            date_biennial_budget: $("#date_biennial_budget").val(),
            //password: $("#password").val(),
            is_ajax: 1

        };
        $.ajax({
            cache : false,
            type: "POST",
            url: '<?php echo base_url();?>survey/actual_budget',
            data: form_data,
            success: function(response)
            {
                if (response != 'failed') {
                    $("#content").load("<?php echo base_url().'survey/actual_budget' ?>"); 
                }
            }
        });
    }   
    });

答案 4 :(得分:0)

你试过了吗?

$('#high:checked').val()

您需要设置一个条件来检查是否先检查单选按钮,或者只是检查这是否未返回'undefined'