ホームページ ウェブフロントエンド jsチュートリアル jQuery と AJAX テクノロジーを使用して、GridView data_jquery の特定の列を定期的に更新します。

jQuery と AJAX テクノロジーを使用して、GridView data_jquery の特定の列を定期的に更新します。

May 16, 2016 pm 03:27 PM
ajax jquery

問題が発生しました: GridView の列のステータス テキストを定期的に更新します。すぐにアイデアが思い浮かびました。GridView は最終的にテーブルを生成するので、ページ上の Ajax を介してテーブルの列を更新し、Ajax による GridView 更新の効果を実現します。

詳細な実装:

更新するデータを保存する XML ファイルを準備し、ページ内でタイマーを開始し、5 秒ごとに関数を呼び出します。関数は $.ajax を使用して XML 内のデータを取得し、XML を解析して走査します。更新対象のデータに一致する行が更新されます。

getuserlist.xml

UserList のルート ノードを定義します。以下の各 UserItem は主キーとして認識され、UStatus は最新のステータスとなります。

<?xml version="1.0" encoding="utf-8" ?>
<UserList>
<UserItem><UID>1</UID><UStatus>关闭</UStatus></UserItem>
<UserItem><UID>2</UID><UStatus>关闭</UStatus></UserItem>
<UserItem><UID>3</UID><UStatus>开放</UStatus></UserItem>
</UserList>
ログイン後にコピー

test.html

具体的なロジックはここに書かれています。

<html>
 <head>
 <title>Ajax Update Table Column</title>
 <script src="jquery-1.3.1.min.js" type="text/javascript"></script>
 <script type="text/javascript">
  window.onload=function(){
  //每隔5秒检查一下数据
  window.setInterval(checkStatus,5000);
  };
 
  //检查数据
  function checkStatus(){
  //ajax请求数据
  $.ajax({
   //换成你的文件,构造xml格式的数据就行了
  url: 'getuserlist.xml',
  //请求类型
  type: 'GET',
  //数据格式
  dataType: 'xml',
  //超时时间:1秒
  timeout: 2000,
  //加载数据发生错误
  error:function (XMLHttpRequest, textStatus, errorThrown) {
   alert("XMLHttpRequest="+XMLHttpRequest.responseText+"\ntextStatus="+textStatus+"\nerrorThrown="+errorThrown);
  },
  //成功加载数据
  success: function(xml){

//遍历表格的行,需要给表格定义一个ID
   $("#userListTable tr").each(function(){

//获取行的第一列,这里边保存了XML中对应的UID信息
    var trID=$(this).find("td").eq(0).text();

//数据的新状态
    var trStatus="";

//遍历xml中的UserItem
    $(xml).find("UserList > UserItem").each(function(){

//获取UID和UStatus的值
   var uid = $(this).find("UID").text();
   var ustatus = $(this).find("UStatus").text();

//比对当前行的ID和UID,如果相等,给数据的新状态赋值
    if(trID==uid){
     trStatus=ustatus;
    }
    });

//如果数据的新状态不为空,则更新单元格中现实的文本
    if(trStatus!=""){
   $(this).find("td").eq(2).text(trStatus);
    }
   });
  }
   });
  }
 </script>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
 </head>
 <body>

<!--

这个表格有三列

ID:数据的ID,相当于主键,用于从xml中查询新数据

Name:只是显示

Status:要更新的列

-->
 <table border="1" id="userListTable">
  <tr><th>ID</th><th>Name</th><th>Status</th></tr>
  <tr><td>1</td><td>张三</td><td>开放</td></tr>
  <tr><td>2</td><td>李四</td><td>开放</td></tr>
  <tr><td>3</td><td>王五</td><td>开放</td></tr>
 </table>
 </body>
</html>

ログイン後にコピー

最後に、必要なファイルを閲覧可能なサイトに配置し、test.html を開きます。
5秒ほど待つと効果が現れます。

IEの問題により、フォルダー内で直接開くとxmlファイルが解析できない問題(parsererror)が発生するため、実行可能なサイト配下に置くか、開くことをお勧めします別のブラウザで。

追記: GridView は DataGrid の後継コントロールです。フレームワーク 2 では、DataGrid はまだ存在しますが、GridView は歴史の最前線にあり、DataGrid を置き換える傾向は止められません。 GridView と DataGrid には、どちらもデータ ソースからのデータを Web ページに表示し、データ ソース内のデータの行、つまりレコードを Web ページ上の出力テーブルの行として表示します。
GridView は DataGrid と比較して以下のような利点があり、スマート タグ パネル (スマート タグの表示) を提供するため、並べ替え、ページング、更新などのよく使用される操作がより簡単で便利です。 、削除はゼロコードで実装できます。 PagerTemplate 属性を使用すると、ユーザー ナビゲーション ページをカスタマイズできます。つまり、ページングの制御がより自由になります。 GridView と DataGrid には、イベント モデルにも多くの違いがあります。DataGrid コントロールは 1 つのイベントをトリガーしますが、GridView コントロールは操作の前に 1 つ、操作後に 1 つずつイベントをトリガーします。 、操作後のイベントは、Sorting イベントとsorted イベント、RowDeleting と RowDeleted イベントなどの複数の ***ed イベントです。
Listview と Gridview のインターフェイスを更新するには、adapter.notifyDataSetChanged() を呼び出してインターフェイスを更新します。
ただし、この方法には欠点があります。データが変更されたかどうかに関係なく、インターフェイス内のすべてのデータが更新されます。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ajaxを使用してPHPメソッドから変数を取得するにはどうすればよいですか? Ajaxを使用してPHPメソッドから変数を取得するにはどうすればよいですか? Mar 09, 2024 pm 05:36 PM

Ajaxを使用してPHPメソッドから変数を取得するにはどうすればよいですか?

jQueryでPUTリクエストメソッドを使用するにはどうすればよいですか? jQueryでPUTリクエストメソッドを使用するにはどうすればよいですか? Feb 28, 2024 pm 03:12 PM

jQueryでPUTリクエストメソッドを使用するにはどうすればよいですか?

jQuery のヒント: ページ上のすべての a タグのテキストをすばやく変更する jQuery のヒント: ページ上のすべての a タグのテキストをすばやく変更する Feb 28, 2024 pm 09:06 PM

jQuery のヒント: ページ上のすべての a タグのテキストをすばやく変更する

jQuery を使用してすべての a タグのテキスト コンテンツを変更する jQuery を使用してすべての a タグのテキスト コンテンツを変更する Feb 28, 2024 pm 05:42 PM

jQuery を使用してすべての a タグのテキスト コンテンツを変更する

PHP と Ajax: 動的に読み込まれるコンテンツを作成するためのソリューション PHP と Ajax: 動的に読み込まれるコンテンツを作成するためのソリューション Jun 06, 2024 pm 01:12 PM

PHP と Ajax: 動的に読み込まれるコンテンツを作成するためのソリューション

jQuery における eq の役割と応用シナリオを理解する jQuery における eq の役割と応用シナリオを理解する Feb 28, 2024 pm 01:15 PM

jQuery における eq の役割と応用シナリオを理解する

PHP と Ajax: Ajax のセキュリティを向上させる方法 PHP と Ajax: Ajax のセキュリティを向上させる方法 Jun 01, 2024 am 09:34 AM

PHP と Ajax: Ajax のセキュリティを向上させる方法

jQuery 要素に特定の属性があるかどうかを確認するにはどうすればよいですか? jQuery 要素に特定の属性があるかどうかを確認するにはどうすればよいですか? Feb 29, 2024 am 09:03 AM

jQuery 要素に特定の属性があるかどうかを確認するにはどうすればよいですか?

See all articles