JQuery - 在按钮点击时更改$ _GET变量

时间:2016-08-08 14:13:28

标签: javascript php jquery ajax

我试图创建一系列按钮来更新我的网站$ _GET ['年份]变量。我想按钮在这些页面上工作:

  • example.com
  • example.com/?search=foo
  • example.com/?search=foo&year=2015。

例如,如果我点击<a>2016</a>我的&#39;年&#39;标记将更新为year=2016,网页将显示搜索结果或该年度的所有内容。我尝试过像这样使用JQuery AJAX:

                <ul class="dropdown-menu dateDropdown">
                    <li><a>2016</a></li>
                    <li><a>2015</a></li>
                    <li><a>2014</a></li>
                </ul>


            <script>
                $(document).ready(function () {
                    $(".dateDropdown>li>a").each(function() {
                        $(this).click(function() {
                            alert("pressed");
                            $.get({
                              url: "index.php",
                              data: $(this).html(),
                              callback: alert("sent")
                            });
                        ;})
                    ;})
                ;}
            </script>

目前我正在按下&#34;按下&#34;并且&#34;发送&#34;警报,但网页没有更新。我想我可以使用window.location和regex来改变或添加“年”。到URI,但这种方式会更整洁。 有什么想法吗?

2 个答案:

答案 0 :(得分:1)

看看jQuery.get params

在你的情况下,它会是这样的:

$(".dateDropdown>li>a").each(function(index,elem){
    $(elem).click(function(){
        alert('Pressed');
        $.get('url', {search:'foo', year: $(this).text() }).done( function(){ alert('Done!')} )
    })
})

答案 1 :(得分:0)

将脚本更改为

<script>
    $(document).ready(function () {
        $(".dateDropdown>li>a").each(function() {
            $(this).click(function() {
                alert("pressed");
                $year=$(this).html();
                $.ajax({
                  method: 'post',
                  url: "query.php",
                  data: 'year='+$year,
                  callback: alert("sent")
                  success: function(e){
                    $('html').html(e);
                  }
                });
            ;})
        ;})
    ;}
</script>

index.php的内容复制到query.php 并制作index.php

的内容
<html>
   <?php include 'query.php'; ?>
</html>