4

レコードを検索するために ajax 呼び出しを行いました。クリックしようとすると結果がajaxから来た後、ページが一番上にジャンプします。

ajax呼び出しの私の機能:

 function ajax_search_primarycare(keyword, userId){
    if(keyword.length >= 3){
         var pricareId = jQuery('#primarycare_provider_id').val();
         var pricareName = jQuery('#primarycare_provider_name').val();
         var pricareStatus = jQuery('#primarycare_icon_status').val();
         var primary_badge_status = jQuery('#primary_badge_status').val();

     $.ajax({type: "POST",
            url: "ajax_search_primarycareprovider.php?keyword="+keyword+"&userId="+userId+"&pricareId="+pricareId+"&pricareName="+pricareName+"&pricareStatus="+pricareStatus+"&primary_badge_status="+primary_badge_status,
            success: function(msg){

            $("#sect_primarycare").html(msg);
            }
        });
return false;
    }

ajax 呼び出しの後に return false を追加しましたが、まだ結果がありません。

前もって感謝します

4

4 に答える 4

0

「#」へのリンクをたどっているので、おそらくトップにジャンプしますか?おそらく、「#」へのアンカー要素タグ リンクに関連付けられたイベント ハンドラがあります。イベント ハンドラーが終了すると、イベント ハンドラーが false を返さない限り、既定のアクションが実行されます (# へのリンク)。あなたの Ajax 呼び出しは既に false を返していますが、これはおそらくイベントハンドラーではありませんか? 解決策は、実際のイベント ハンドラが false を返すことを確認することです。

要点を説明すると、user2675751 は実際に適切なソリューションを提案しています。

于 2013-09-19T13:22:50.643 に答える
0

あなたは間違った場所で false を返しています!

関数の結果ajax_search_primarycareはfalseなので、この関数を次のように呼び出すとしましょう

$("#subbmit").click(function() {
   ajax_search_primarycare('k',1);
});

この関数で false を返す必要があります

$("#subbmit").click(function() {
   return ajax_search_primarycare('k',1);
});
于 2013-09-19T13:18:15.917 に答える