如何检测jQuery UI无线电更改事件



我有两个无线电控制器:

<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!");
});

警报从不执行。我在这里做错了什么?

事件必须在$(文档(.ready窗口.onload

此代码:

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

应为

$(document).ready(function(){
        $('#sort').buttonset();
        // events  
        $('#asc').on("change", function(event){
              alert("CHANGE EVENT!");
        });
});
$(document).on("change", ".sortDirection", function(){
    alert("changed");
    //insert code here
});​

示例

我建议使用change事件而不是click事件。当同一个选项被click激发两次时,change不会再次激发。

尝试这个

$('.sortDirection').click(function(event){
        alert("CHANGE EVENT!");
});

由于'#sort'是按钮集,我认为它应该是:

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

最新更新