【问题标题】:Jquery custom checkboxes and radios not passing value correctly with .val()Jquery 自定义复选框和单选没有使用 .val() 正确传递值
【发布时间】:2012-09-02 03:33:12
【问题描述】:

我正在使用位于此处的插件:http://www.maratz.com/blog/archives/2006/06/11/fancy-checkboxes-and-radio-buttons/

设置我的单选按钮和复选框的样式。当我在不使用 jQuery.get 的情况下提交表单时,所有值都被很好地传递了。但是当我尝试使用以下方法提取值时:

   var sort = $('input[name=sort]:checked').val();

它不起作用。无论检查“新”电台还是“过期”电台,它都会一直说“新”。我试图弄清楚我到底做错了什么。我还尝试提取在选择“广播”按钮时使用类别.r_on的标签的值,但我也无法做到这一点。

$(document).ready(function(){

var sort = $('input[name=sort]:checked').val();
var location = $('#location').val();


$('.filter_submit').click(function(){
    $.get("../bin/open_tasks.php", "sort=" + sort + "&location=" + location , function(data){
        alert("Data Loaded: " + data);
        });//end get request
    return false;
    });//end click 

});

<fieldset class="radios">
            <label class="label_radio" for="new">Newest<input id="new" checked="checked" class="" type="radio" name="sort" value="new"></label><br>
            <label class="label_radio" for="expire">Expiring First<input id="expire" class="" type="radio" name="sort" value="expire"></label>
        </fieldset>

这是我写的只是为了测试它的php:

<?php 

    echo "loaded kinda";

    echo " ".$_GET['sort']." ";
    echo $_GET['location'];

?>

【问题讨论】:

    标签: jquery ajax plugins


    【解决方案1】:

    你可以试试这个

            if ($('input[name=sort]').is(':checked')) {
    

    而不是这个

         var sort = $('input[name=sort]:checked').val();
    

    编辑:

    这个呢

            $('input[name=sort]').change(function () {
                 //this will fire when radio button is clicked
                 //store this information somewhere
               }
    

    【讨论】:

    • 这是一个单选按钮。将始终检查一个或另一个。我为复选框做了这个,它们工作得很好。
    • 我试过了,它仍然只吐出“新”。编辑:有没有办法获取标签的值?选中该单元按钮时,它被指定为特殊类。
    【解决方案2】:

    您在页面加载时获得了价值 (.ready)。这还为时过早 - 这将是当时的价值,总是一样的。

    您可能希望在提交时获取该值,以便更新单选按钮为您获取更新后的值。只需将.val() 行移动到.click 处理程序中。 #location 行也是如此。

    【讨论】:

    • 谢谢!你总是面对那些愚蠢的小事,不是吗?
    • @user1589198:嗯,至少你可以从这样的经历中学习:)
    猜你喜欢
    • 2011-08-03
    • 2011-09-18
    • 2020-05-04
    • 2016-04-21
    • 2019-08-01
    • 1970-01-01
    • 2011-08-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多