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 に答える