在选择框onchange上调用函数是多次调用

时间:2015-10-05 14:06:05

标签: jquery onchange

我正在使用bootpag插件进行分页,但问题不在于我的想法。这是我脚本的一部分

$("#select-2").change(function() {            
   var selectedv = $("#select-2 option:selected").text();                               
   showresults(selectedv);  
});

function showresults(noofresults){
   getResults('http://192.168.1.122:10039/wps/mycontenthandler/vamshi/!ut/p/digest!SqaCnIAqyulFhaUStKGgJQ/searchfeed/search?query=*&scope=1440172377201&start=0&results=1000&pageSize='+noofresults+'&page=0'); 

$('.demo4_top').bootpag({
        total: Math.ceil($("#resultscount").text()/noofresults),
        page: 1,
        maxVisible: 4       
}).on("page", function(event, num){
    alert(noofresults);
    getResults('http://192.168.1.122:10039/wps/mycontenthandler/vamshi/!ut/p/digest!SqaCnIAqyulFhaUStKGgJQ/searchfeed/search?query=*&scope=1440172377201&start=0&results=1000&pageSize='+noofresults+'&page=' + $.trim(num-1));

}).find('.pagination');

}

实际上我的选择框包含值1,2,3。当我在选择框中更改值时,它们将保留在变量中,我的意思是您可以在我的showresults函数中看到警报,该警报会多次发出警报。如果我将值从1更改为2,2到3,3到1,然后调用我的bootpag插件的页面功能,它会提醒所有值1,2,3,1。

这里有什么问题

1 个答案:

答案 0 :(得分:0)

在此处替换您的代码

$("#select-2").change(function() {            
   var selectedv = $(this).val();                               
   showresults(selectedv);  
});

根据猜测,您正在使用“select 2 jquery”。如下所示 -

$('#select-2').select2()
        .on("change", function(e) {
         showresults(e.val);  
        })