0

我正在使用位于此处的插件: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'];

?>
4

2 回答 2

0

您将获得页面加载 ( .ready) 的值。这太早了——这将是当时的价值,总是一样的。

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

于 2012-09-01T19:33:12.177 回答
0

你可以试试这个

        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
           }
于 2012-09-01T18:44:39.470 回答