2017-04-17 79 views
0

我有多个过滤器的网页,从数据库中搜索数据。它在页面末尾有一个查看限制下拉菜单,不在主要搜索表单中。查看限制询问用户在单个页面上他想要多少条记录。当用户选择了记录限制,AJAX加载与选定的限制的结果,现在当用户(谁是第1页)点击下页按钮见第2页recrods视图限制下拉重置本身为默认值,例如,如果有60个产品,他的搜索,他选择每页20记录第1页上,当他去到第2页视图限制下拉菜单会显示10,而不是20,鉴于极限下拉下页。我想下一个页面视图上限值,他在第一页即10都被选择从下拉菜单值,而不页面加载

<div class="view-limit"> 
       View:&nbsp; <select name="view-limit" id="view-limit" class="form-control" style="display:inline-block;"> 
        <option value="10">10</option> 
        <option value="20">20</option> 
        <option value="30">30</option> 
        <option value="50">50</option> 
        <option value="100">100</option> 
       </select> 
      </div> 

选择这是我的看法限制HTML,我不想把它列入了表格,连同搜索过滤器发送该数据。有没有什么办法可以在没有表单提交的情况下将这些数据发送到下一页?我试图使用URL中的变量发送它,但我无法获得视图限制的值在变量中,直到任何请求被发送到服务器。

+0

的[我要Ajax响应数据加载到下拉]可能的复制(http://stackoverflow.com/questions/21958619/i-want-to-load-ajax-response-data-into-dropdown ) –

+0

“我不想将它包含在表单中,并将这些数据与搜索过滤器一起发送。有没有办法,我可以将此数据发送到下个页面的表单提交什么办法?”不幸的是,你可以通过表单提交或会话保存限制值 – hassan

+0

@TirthrajBarot不发,要么,就是完全不同的:) –

回答

0

我想通了,通过URL 传递变量来翻页的方式这是我如何做的:

$(document).on("click","#pager",function(e) { 
    e.preventDefault(); 
    location.href = this.href +'?view='+ escape($('#view-limit').val()); 
    return false; 
}); 

寻呼机是htat被点击时用户想要去的链接标识下一页

1

如果调用AJAX来获取数据,然后您就可以使用表单数据传递,

data:$('form').serialize()+'&limit='+$('#view-limit').val(), 
... 

你必须再次通过view-limit到您的HTML内容,

对于〔实施例,你是越来越view-limit在PHP页面一样,

$limit=$_REQUEST['limit']; // you can use $_POST if post method is used 

然后,HTML页面上通过这个变量,用于制作选择一个选项,试试下面的代码,

<div class="view-limit"> 
    View:&nbsp; <select name="view-limit" id="view-limit" class="form-control" style="display:inline-block;"> 
     <option value="10" <?php echo ($limit==10?'selected="selected"':'')?>>10</option> 
     <option value="20" <?php echo ($limit==20?'selected="selected"':'')?>>20</option> 
     <option value="30" <?php echo ($limit==30?'selected="selected"':'')?>>30</option> 
     <option value="50" <?php echo ($limit==50?'selected="selected"':'')?>>50</option> 
     <option value="100" <?php echo ($limit==100?'selected="selected"':'')?>>100</option> 
    </select> 
</div>