php如何使用下拉菜单拆分页面

时间:2019-07-19 18:31:45

标签: javascript php

我写了这个函数,但是有问题。

当我显示带有页面(1,2,3)的下拉菜单时,每个页面有5种产品。当我单击下拉列表的数字2时,它不会显示接下来的5种产品,但它会重新出现在索引页面上。

我认为这个元素:PAGESETGOTO的下拉页面值不高,而javascript可能有问题

您知道如何解决此问题吗?

TK

    public function getPageSetLinks($parameters = null, $site = null)
            {
              $number_of_pages = ceil($this->page_set_total_rows / $this->page_set_results_per_page);

              if (empty($parameters)) {
                $parameters = '';
              }

              if (!empty($parameters)) {
                parse_str($parameters, $p);

                if (isset($p[$this->page_set_keyword])) {
                  unset($p[$this->page_set_keyword]);
                }

                $parameters = !empty($p) ? http_build_query($p) . '&' : '';
              }

              $pages = [];

              for ($i = 1; $i <= $number_of_pages; $i++) {
                $pages[] = [
                  'id' => $i,
                  'text' => $i
                ];
              }


              $output = '<nav aria-label="pagination">';
              $output .= '<ul class="pagination pagination-sm">';

     if ($number_of_pages > 1) {


--    
-- the line for the dropdown    
              $output .= '<li class="page-item">' . HTML::selectField('pageset' . $this->page_set_keyword, $pages, $this->page_set, 'style="vertical-align: top; display: inline-block; float-md-left; height: 32px; width: 80px;" data-pageseturl="' . HTML::output($this->link(null, $parameters . $this->page_set_keyword . '=PAGESETGOTO')) . '"') . '</li>';





            } else {
              $output .= '<li class="page-item disabled"><a class="text-md-center page-link sr-only">1</a></li>';
            }

              $output .= '</ul>';
              $output .= '</nav>';

              if ($number_of_pages > 1) {
                $output .= <<<EOD



        <script>
        $(function() {
          $('select[name="pageset{$this->page_set_keyword}"]').on('change', function() {
            window.location = $(this).data('pageseturl').replace('PAGESETGOTO', $(this).children(':selected').val());
          });
        });
        </script>
        EOD;
              }

              return $output;
            }

0 个答案:

没有答案