2016-08-08 6 views
0

私のウェブサイトの$ _GET ['year']変数を更新する一連のボタンを作成しようとしています。私はボタンがこれらのページに仕事をしたい:

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

は、ですから、例えば、私は「今年タグがyear=2016に更新される<a>2016</a>をクリックした場合と、ウェブページは、その年からの検索結果やあらゆるものを示すだろう。

   <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> 

は現在、私は「プレス」と「送られた」の警告を取得していますが、Webページが更新されていない:私はそうのようなjQueryのAJAXを使用してみました。おそらくwindow.locationとregexを使ってURIに "year"を変更したり追加したりすることができると思っていましたが、この方法はずっと面白いでしょう。 アイデア

+0

'data:{year:$(this).html()}' – apokryfos

+0

ページのコンテンツが変更されると思われますか? URLを変更する具体的な理由はありますか?あなたが達成しようとしていることは本当に明確ではありません。 –

+0

'click'で更新したいのであれば、なぜ' click'イベントを使用していませんか? – Saurabh

答えて

1

jQuery.get paramsをご覧ください。あなたの状況では

、それはのようになります。

<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> 

にスクリプト

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

応答に感謝します!私はまだこのコードで更新するURIを取得できません。私は 'URL'を '/index.php'に置き換えました(コードがどこから送られてきたのか分かりません)。私は '完了!'アラート。 また、(index、elem)パラメータの目的は何ですか? –

+0

jQueryはすべて(以前)一致した要素を繰り返し処理し、コレクションの要素数と単一要素自体を 'index' - コールバックで表します。もちろん、これらの2つのヴァールはあなたが好きな名前を付けることができます。 –

+0

'alert( '完了!')'が表示された場合は、呼び出しが成功したことを意味します。良くないものは何ですか? –

0

変更index.php query.phpの内容をコピーし、index.php

<html> 
    <?php include 'query.php'; ?> 
</html> 
のコンテンツを作ります
関連する問題