通过按钮单击影响下拉菜单

时间:2014-09-26 23:07:33

标签: javascript jquery jquery-ui button drop-down-menu

我有一个按钮(“.next”)和一个下拉列表(“#page_num”)。下拉列表(jquery UI selectmenu)附加了以下功能。

    $("#page_num").selectmenu ({
        width: 40,
        change:function( event,ui ) {
            search ();
        }
    });;

我有以下代码,其中按钮单击会使下拉列表更改为下一个选项。

    $("#next").button();
    $('#page_num').selectmenu();

    $('#next').click(function() { 

        if($("#page_num :selected").index() != $("#page_num option:last-child").index()){
            $("#page_num").val($("#page_num :selected").next().val());
            $('#page_num').selectmenu('refresh', true);
        } else {
            $("#page_num").val($("#page_num option:first-child").val());
            $('#page_num').selectmenu('refresh', true);
        }
    });      

我的问题是我似乎无法将前一代码集成到后者中。我希望每次单击.next按钮时,下拉菜单都会传递“search()”函数,但是无法使其工作。 任何人都可以对此有所了解吗?

由于

2 个答案:

答案 0 :(得分:0)

在第一个代码和第二个代码中,您可能会调用selectmenu。因此,当您实现第二个代码时,您首先会覆盖您发送给selectmenu的参数(包括更改处理程序)。

所以要像这样组合你的代码:

$("#next").button();
$("#page_num").selectmenu ({
    width: 40,
    change:function( event,ui ) {
        search ();
    }
});

$('#next').click(function() { 

    if($("#page_num :selected").index() != $("#page_num option:last-child").index()){
        $("#page_num").val($("#page_num :selected").next().val());
        $('#page_num').selectmenu('refresh', true);
    } else {
        $("#page_num").val($("#page_num option:first-child").val());
        $('#page_num').selectmenu('refresh', true);
    }
});      

答案 1 :(得分:0)

我得到了它的工作。我没有尝试将下拉搜索功能与按钮结合使用,而是将按钮设置为自己的搜索功能。

$("#next").button();
$("#page_num").selectmenu ({
    width: 40,
    change:function( event,ui ) {
        search ();
    }
});

$('#next').click(function() { 

    if($("#page_num :selected").index() != $("#page_num option:last-child").index()){
        $("#page_num").val($("#page_num :selected").next().val());
        $('#page_num').selectmenu('refresh', true);
        search();
    } else {
        $("#page_num").val($("#page_num option:first-child").val());
        $('#page_num').selectmenu('refresh', true);
    }
});

比我想象的要容易!