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).readywindow.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事件。当相同的选项被编辑两次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 回答