-1

スタックオーバーフロー全体を検索し、多くの解決策を得ましたが、どれも機能しませんでした。そのため、このスレッドを投稿しました。次の内容の index.php ファイルを作成しました。

<?php
$items=array("10.3.2.0","10.3.2.1","10.3.2.3");
for($i=0;$i<count($items);$i++)
{
     echo "<a class='likelink' href='#'>$items[$i]</a>" . "<br>";
}
?>
<html>
  <head>
    <script type="text/javascript">
      $(function() {
        $('.likelink').click(function() {
          $('#myDiv').load('example.php?var1="abcd"&var2="efgh"');
        });
      });
    </script>
  </head>
  <body>
    <div id="myDiv"></div>
  </body>
</html>

私の意図は、リンクをクリックしたときに example.php の出力を div タグに入力することです。しかし、リンクをクリックしている間は何もロードされず、URL のロードは最後に # で停止します。どのような修正を行う必要がありますか。私を助けてください。

よろしく。

4

3 に答える 3

1

スクリプトで使用しているときに、クラスのスペルが間違っていることがわかりました:

リンクでは、クラス名はlikelinkですがlikeLink、セレクターで使用しています。問題は、セレクターが大文字と小文字を区別することですjQueryCSS

だから変更:

$('.likeLink').click(function() {
    //CODE STUFFS
})

に:

$('.likelink').click(function() {
    //CODE STUFFS
})

編集:

bbldzr が言ったように、リンク内の#をに置き換え、 javascript:void(0)shin が提案preventDefault()したように、リンク フォームの伝播を停止し、デフォルト ハンドラの動作を停止するために追加します。したがって、スクリプトは次のようになります。

$(function() {
    $('.likelink').click(function(event) {
         event.preventDefault();    
        $('#myDiv').load('example.php?var1="abcd"&var2="efgh"');
    });
});

正常に動作します。

于 2013-05-07T06:07:12.580 に答える