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

时间:2012-12-27 19:26:14

标签: jquery jquery-ui events radio-button

我有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 个答案:

答案 0 :(得分:6)

事件必须位于 $(文档).ready window.onload

此代码:

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

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

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

答案 1 :(得分:1)

$(document).on("change", ".sortDirection", function(){
    alert("changed");
    //insert code here
});​

<强> EXAMPLE

我建议使用change事件而不是click事件。如果同一选项change两次,则click不会再次触发。

答案 2 :(得分:0)

试试这个

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

答案 3 :(得分:0)

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

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