今回は、ajax を使用してページング テクノロジを実装する手順について詳しく説明します (コード付き)。 。ajax ページング レンダリングは次のとおりです:
まず、HTML コードと CSS コードを見てみましょう。テーブルとフッターが必要です:
日期 | 时间 | 事件 | 报警画面 | 事件备注 |
---|
跳转到 页
以下は CSS コードです:
#global{ position: relative; } #table{ position: absolute; top:19%; left:1.6%; width: 55%; } #table textarea{ width: 10vw; height: 10vh; background-color: transparent; color: #fff; border-width: 0; text-align: center; } table, th, td { border: 0.2px solid rgba(60,166,206,0.2); border-collapse: collapse; color:rgba(60,166,206,1); } th, td { padding: 3px; text-align: center; font-size: 1.6vmin; } td{ background: rgba(2,29,54,1); } th{ background: rgba(20,29,54,1); padding: 1.8% 0; color: rgba(255,255,255,0.8); } #footer{ position: absolute; bottom:5vh; left:7vw; text-align: center; color: rgba(60,166,206,1); } #pagination{ display: inline-block; } #pagination li{ display: inline; } #select{ display: inline-block; margin-left: 40px; } #select input[type="text"]{ width: 30px; height: 20px; background-color: #000; border-width: 1px; } #select input[type="button"]{ width: 40px; height: 23px; background: #000; border:none; } ul li{ cursor: pointer; }
開始日を初期化します。 、終了日、リクエスト ページ数、リクエストされたページ数、データが合計何ページあるかをバックエンドが提供するAPIデータインターフェースにajax経由で渡し、データベースからデータを取得します、そしてそれをフロントエンドに表示します:
var start_date = "2017-01-01", end_date = "2017-01-08"; var pageNo = 1; var pageSize = 4; var pages = 0;
テーブルのデータを取得してフロントエンドに追加する方法は?ページ分割されたデータを取得してフロントエンドに追加するにはどうすればよいですか?以下で定義した関数を使用します:
loadData(pageNo, pageSize);この関数が API データ インターフェイスとどのように通信するかを見てみましょう:
function loadData(pageNo, pageSize){ $(".detail").remove(); //每次重新从 API 数据接口获取数据都要先清除原先表格 `` 的内容 $.ajax({ url: "/history_alarm", type: "POST", data: JSON.stringify({date:date, page_num:pageNo, page_size:pageSize}), success:function(result){ var results = JSON.parse(result); var list = results.alarm; var totalCount = results.alarm_count; pages = results.page_count; if(list.length != 0){ for(var i=0; i ログイン後にコピーloadData 関数では、他の 3 つの関数も定義しました。まず appendData を見てください:
//注意到我们将 `alarm_id` 作为 `ログイン後にコピー//该函数定义了如何通过 ajax 将用户输入到某一个 `` 的值作为参数传给后台 API 接口,并写入数据库 function addEvent(alarm_id){ $("#"+alarm_id).click(function(){ var remark = $("."+alarm_id).val(); if(remark != ""){ $.ajax({ url:"/history_alarm", type:"POST", data:JSON.stringify({alarm_id:alarm_id, note:remark}), success:function(result){ var results = JSON.parse(result); if(results.status == "ok"){ console.log('ok'); } } }) } }) } ログイン後にコピーfunction displayFooter(totalCount, pages, pageNo){ var newText = '共' + totalCount + '条,' + '第' + pageNo + '页,' + '共' + pages + '页'; $("#summary").text(newText); }ログイン後にコピーデータを取得する関数が書かれています。次に、ページングの「ホームページ、前ページ、次ページ、最後のページ、ジャンプ」に対応するイベントをクリックする必要があります。考え方は次のとおりです。ユーザーがクリックしたページング内の項目ごとに、pageNo を再判定する必要があります。その後、pageNo をパラメーターとして使用して、データを再度取得するための API インターフェイスを呼び出します。
$("input[name='page_num']").keydown(function(e){ if(e.keyCode == 13){ $("input[name='go_btn']").click(); } }); $("input[name='go_btn']").click(function(){ var goPage = $("input[name='page_num']").val(); if(goPage >= 1 && goPage <=pages && goPage != pageNo){ pageNo = goPage; loadData(pageNo, pageSize); } else{ return false; } }); $("#01").click(function(){ pageNo = 1; loadData(pageNo, pageSize); }); $("#04").click(function(){ pageNo = pages; loadData(pageNo, pageSize); }); $("#02").click(function(){ if(pageNo == 1){ return false; } else{ pageNo--; loadData(pageNo, pageSize); } }); $("#03").click(function(){ if(pageNo == pages){ return false; } else{ pageNo++; loadData(pageNo, pageSize); } });ログイン後にコピーこの記事の事例を読んでその方法をマスターしたら、さらに興味深い内容が見つかるでしょう。php 中国語 Web サイトの他の関連記事にも注目してください。
推奨読書:
Ajax+mysqlでメッセージボード機能を作成 ajaxは3レベル連携の最も基本的な概念を実現します以上がajaxを利用したページング技術の実装手順を詳しく解説(コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。
このウェブサイトの声明この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。著者別の最新記事
2018-06-11 11:57:34 2018-06-15 15:55:18 2018-06-15 15:49:00 2018-06-15 15:46:15 2018-06-15 15:42:38 2018-06-15 15:40:34 2018-06-15 15:39:32 2018-06-15 15:37:14 2018-06-15 15:34:21 2018-06-15 15:22:51最新の問題" class="wdcdcTitle">AJAX リクエストを使用して応答で JSON を解析する際にキャッチされない構文エラー: 予期しないトークン '<', "
datefrom と dateto を使用してドロップダウン メニューを作成し、これらの日付の間の日付を表示していますが、表示されず、コンソールにこのエラー メッセージが表示され続...から 2023-11-01 10:06:5701269ページを離れることなく PHP を実行する フォーム - テキストエリア(suという名前)と送信ボタンがあります。フォームが送信された後、ページを更新したり「エコー」のままにしたり、何らかの形で画面にリターンを印刷したりせず...から 2023-10-23 19:05:0601285Vue 2 - プロップの変更に関する警告 https://laracasts.com/series/learning-vue-step-by-step シリーズを開始しました。 Vue、Laravel、AJAX クラスを次...から 2023-10-13 10:49:4402217関連トピック詳細>