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

Javascript 通过单击按钮影响下拉菜单,javascript,jquery,jquery-ui,button,drop-down-menu,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").butt

我有一个按钮(“.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()”,但无法使其正常工作。 有人能解释一下吗


谢谢

在第一个代码和第二个代码中,您都会调用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);
    }
});      

我让它工作了。我没有尝试将下拉搜索功能与按钮结合起来,而是给了按钮自己的搜索功能

$("#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);
    }
});

比我想象的要容易

不幸的是,我已经试过了。出于某种原因,它更改了下拉选项,但仍然没有通过按钮单击的搜索功能。当然,它告诉我需要等到明天才能接受它