6

私は2つのラジオコントロールを持っています:

<fieldset id="sort">
                <label for="sort">Sort: </label>
                <input class="sortDirection" type="radio" id="asc" name="sortDirection"><label for="asc">asc</label>
                <input class="sortDirection" type="radio" id="desc" name="sortDirection"><label for="desc">desc</label>
</fieldset>

私が使用しているjqueryは次のとおりです。

$(document).ready(function(){
        $('#sort').buttonset();
});

$('#asc').on("change", function(event){
        alert("CHANGE EVENT!");
});

私も試しました(同じ結果で):

$('#sort input[type="radio"]').on("change", function(event){
        alert("CHANGE EVENT!");
});

アラートは実行されません。ここで何が間違っていますか?

4

4 に答える 4

7

イベントは$(document).readyまたは window.onload内にある必要があります

このコード:

$(document).ready(function(){
        $('#sort').buttonset();
});

する必要があります

$(document).ready(function(){
        $('#sort').buttonset();

        // events  
        $('#asc').on("change", function(event){
              alert("CHANGE EVENT!");
        });
});
于 2012-12-27T19:36:13.797 に答える
1
$(document).on("change", ".sortDirection", function(){
    alert("changed");
    //insert code here
});​

changeイベントの代わりにイベントを使用することをお勧めしclickます。同じオプションを2回change実行しても、再度起動することはありません。click

于 2012-12-27T19:32:26.510 に答える
0

これを試して

$('.sortDirection').click(function(event){
        alert("CHANGE EVENT!");
});
于 2012-12-27T19:29:47.113 に答える
0

「#sort」はボタンセットなので、次のようにする必要があります。

$('#sort').on("change", function(event){
    alert("CHANGE EVENT!");
});
于 2012-12-27T19:39:06.543 に答える