ホームページ ウェブフロントエンド jsチュートリアル jQuery は、IE、Firefox、Safari、Chrome、Opera_jquery をサポートする、クロスブラウザーで編集可能なテーブルを段階的に実装します。

jQuery は、IE、Firefox、Safari、Chrome、Opera_jquery をサポートする、クロスブラウザーで編集可能なテーブルを段階的に実装します。

May 16, 2016 pm 06:47 PM
jquery 編集可能 シート

編集可能なテーブル関数を実装するには、次の問題を解決する必要があります。
1. 変更するデータがテーブル内のどの列であるかを明確にする (これらのセルを見つける方法)。
2. セルを作成する方法。 editable 編集済み;
3. セルのいくつかの重要なイベントを処理する方法。
4. ブラウザー間の問題を解決します。
上記の問題は、jQuery を使用して段階的に解決できます。
1. 表を描きます
まず表を描きます。 " -//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



編集するにはテーブルをクリックしてください



🎜>
000002 ;







以下のように表示されます。
editTable01.jpg



明らかにテーブルのようには見えません。枠線がなく、見苦しいです。そこで、最初にこのテーブルにいくつかのスタイルを設定しましょう。
コード 2:




コードをコピー


コードは次のとおりです:


body{}{
フォントサイズ: 14px;
}
テーブル{}{
カラー: #4F6B72;
ボーダー: 1px ソリッド 幅: 400px ;
}
th{}{
幅: 50%; 境界線: 1px ソリッド }
td{}{
幅: 50 %;
border: 1px Solid


ただし、セル間には重複する境界線がまだ存在します。重複した境界線を削除するには、このような属性をラベル セレクター テーブルに追加するだけです。
border-collapse: Collapse; >

コードをコピー


コードは次のとおりです:


table{}{
color: #4F6B72; 1px ソリッド #C1DAD7;
border-collapse: 400px;
}


2.テーブルのセル グリッドが編集可能な列になります
テーブルを描画した後、テーブル内の番号付きの列を編集可能な列として選択します。この列のセルを編集可能にするには、これらの列にテキスト ボックスを挿入する必要があります。この列のセルの onclick イベントを通じてテキスト ボックスを挿入します。
コード 3:


コードをコピー
コードは次のとおりです:

$(document).ready(function(){
//学籍番号の列のセルをすべて検索
//学籍番号の列のセルはすべての TD にあるためは偶数 (0,2,4,6) なので、even
var numTd = $("tbody td:even");//Click を通じて td 内の偶数のセルにフィルターをかけることができます。これらの td、テキスト ボックスを作成します
numTd.click(function(){
//テキスト ボックス オブジェクトを作成します
var inputobj = $("");
//現在クリックされているセルオブジェクトを取得します
var tdobj = $(this);
//テキストボックスの境界線を削除します
inputobj.css("border","0");
//テキストボックスとセルの幅を一致させます
inputobj.width(tdobj.width());
//テキストボックスのフォントサイズをセルのフォントサイズと同じにしますthe cell
inputobj.css( "font-size",tdobj.css("font-size"));
//テキスト ボックスとセルのフォントを一致させます
inputobj.css("font- family",tdobj.css( "font-family"));
//テキストボックスとセルの背景を一致させる
inputobj.css("background-color",tdobj.css("background- color"));
//appendTo メソッドはテキスト ボックスを td に追加します
inputobj.appendTo(tdobj);
});
});

Nowテキスト ボックスは に挿入されました セルは にあります。テキスト ボックスを編集したいので、テキスト ボックスの値はセル内のデータから取得され、セル内の元のデータをクリアする必要があります。
コード 4:

コードをコピーします コードは次のとおりです:
$(document) .ready( function(){
//学籍番号列のセルをすべて検索
//学籍番号列のセルの位置は全tdで偶数(0, 2, 4, 6) したがって、even を使用すると、td の偶数番号のセルにフィルターをかけることができます。
var numTd = $("tbody td:even")
//これらの td をクリックすると、テキスト ボックスが作成されます
numTd.click( function(){
//テキスト ボックス オブジェクトを作成します
var inputobj = $("");
//現在クリックされているオブジェクトを取得しますcell object
var tdobj = $(this);
//セル内のテキストを取得します
var text = tdobj.html(); //セル内のテキストをクリアします
tdobj.html("" );
//テキストボックスの枠線を削除します
inputobj.css("border","0");
//テキストボックスとセルの幅を作成しますconstant
inputobj.width( tdobj.width());
//テキストボックスのフォントサイズをセルのフォントサイズと同じにします
inputobj.css("font-size", tdobj.css("font-size"));
//テキストボックスとセルのフォントを一致させる
inputobj.css("font-family",tdobj.css("font-family" ));
//テキストボックスとセルを同じにする 背景は一貫したままにする
inputobj.css("background-color",tdobj.css("background-color")); .css("color","#C75F3E");
/ /テキスト ボックスに値を割り当てます
inputobj.val(text);
//appendTo メソッドはテキスト ボックスを td
inputobj.appendTo(tdobj);
});
}) ;


しかし、上記のコードには非常に面倒な利点があります。連結。上記のコードは、次のように連結することで簡略化できます:
コード 5:



コードをコピー コードは次のとおりです: $(document).ready(function(){
//学籍番号列のセルをすべて検索
//すべての td における学籍番号列のセルの位置は偶数 (0 、2、4、6) なので、even
var numTd = $("tbody td:even");// をクリックすると、td 内の偶数のセルにフィルターできます。これらの td、テキスト ボックスを作成します
numTd.click(function(){
//テキスト ボックス オブジェクトを作成します
var inputobj = $("");
//現在クリックされているセル オブジェクトを取得します
var tdobj = $(this);
//セル内のテキストを取得します
var text = tdobj.html();
//セルのテキスト
tdobj.html("");
inputobj.css("border","0")
.css("font-size",tdobj.css("font-size) "))
.css("フォントファミリー",tdobj.css("フォントファミリー"))
.css("背景色",tdobj.css("背景色"))
.css ("color","#C75F3E")
.width(tdobj.width())
.val(text)
.appendTo(tdobj)
}); 🎜>}) ;


これで、テキスト ボックスがテーブルに正常に挿入され、セルを編集できるようになりました。
editTable04.jpg
しかし、明らかな
バグがあります。同じセルを再度クリックすると、次のような効果が表示されます。

editTable05.jpg


コードをコピーします コードは次のとおりです:

inputobj.click( function() {
return false;
});

しかし、セルの境界線をクリックすると、上記のバグが引き続き表示されるため、次の判断を行います。セルが挿入されました テキストボックス、クリックイベントがポップアップします。
コード 7:

コードをコピー コードは次のとおりです:
$(document) .ready( function(){
//学籍番号列のセルをすべて検索
//学籍番号列のセルの位置は全tdで偶数(0, 2, 4, 6) したがって、even を使用すると、td の偶数番号のセルにフィルターをかけることができます。
var numTd = $("tbody td:even")
//これらの td をクリックすると、テキスト ボックスが作成されます
numTd.click( function(){
//テキスト ボックス オブジェクトを作成します
var inputobj = $("");
//現在クリックされているオブジェクトを取得しますcell object
var tdobj = $(this);
//セル内のテキストを取得します
var text = tdobj.html(); //現在のセルにテキスト ボックスがある場合セル、メソッドから直接飛び出します
//注: テキスト ボックスを挿入する前に必ず判断してください
if(tdobj.children("input").length>0){
return false ;
}
//セルのテキストをクリア
tdobj.html("")
inputobj.css("border","0")
.css("font-size") ,tdobj.css("フォントサイズ "))
.css("フォントファミリー",tdobj.css("フォントファミリー"))
.css("背景色",tdobj.css ("背景色"))
.css("color","#C75F3E")
.width(tdobj.width())
.val(text)
.appendTo(tdobj) );
inputobj.get( 0).select();
//テキストボックスのクリックイベントを防止します
inputobj.click(function(){
return false;
} );
});
});


上記のバグは解決されましたが、セルをクリックすると表面のテキストの色が変化することがわかりました。編集できるとは思えません。次に、テキスト ボックスを挿入するときに、テキスト ボックス内のテキストを選択します。
コード 8:


inputobj.get (0) .select();


しかし、Safari ブラウザでは、テキスト ボックスが選択されているように見える必要があります。ただし、ここではテキスト ボックスを挿入し、セルをクリックしたときにテキスト ボックスに値を割り当てるだけです。テキスト ボックスにはフォーカスがありません。解決策: jQuery のトリガー メソッドを通じてイベントをトリガーします。
コード 9:


コードをコピーします コードは次のとおりです:
inputobj.trigger( "focus" ).trigger("select");


3. テキスト ボックスのキー イベントの処理
上記の問題が解決されたので、いくつかのキー イベントをテキスト ボックスに追加してみましょう。キーストロークを取得するための keyCode はブラウザごとに異なることはわかっていますが、jQuery はこの問題の解決に役立ちます。
イベント パラメーターをイベントの関数に追加するだけで、メソッド本体で、イベント オブジェクトの what 属性を通じて keyCode を取得できます。event.that 属性は、keyCode を取得するメソッドを同化します。さまざまなブラウザで。
keyCodeを取得したら、主にESCキー(キー値:27)とEnterキー(キー値:13)の2つのキーイベントを行います。
コード 10:


コードをコピー コードは次のとおりです:

//テキスト ボックスの Enter キーと Esc キーの操作を処理します。
//jQuery のイベント メソッドの関数はイベント パラメーターを定義でき、jQuery はブラウザー間の違いをブロックしてパスを渡します。利用可能なイベント オブジェクト
inputobj.keyup(function(event){
//現在のキーのキー値を取得します
//キーを取得するための jQuery イベント オブジェクトの属性がありますキーボード キーの値
var keycode = events.that
//キャリッジ リターンを処理します
if(keycode==13){
//現在のテキスト ボックスの内容を取得します
var inputtext = $(this ).val();
//td の内容をテキスト ボックスの内容に変更します
tdobj.html(inputtext);
// esc
if( keycode == 27){
//td の内容をテキストに復元します
tdobj.html(text);
}


以下は完全な js コードです:
コード 11:


$( document).ready(function(){
//学籍番号の列のセルをすべて検索
//学生の列のセルの位置が異なるためすべての td の数値は偶数 (0,2,4 ,6) であるため、even
var numTd = $("tbody td:even"); によって td の偶数番号のセルにフィルターをかけることができます。 >//これらの tds をクリックするとテキスト ボックスを作成します
numTd.click(function(){
//テキスト ボックス オブジェクトを作成します
var inputobj = $("");
//現在クリックされているユニット Cell オブジェクトを取得します
var tdobj = $(this);
//セル内のテキストを取得します
var text = tdobj.html() ;
//現在のセルにテキストボックスがある場合は、メソッドを抜けてください
//注: テキストボックスを挿入する前に必ず判断してください
if(tdobj.children( "input").length>0){
return false;
}
//セルのテキストをクリアします
tdobj.html(""); border","0")
.css("フォントサイズ",tdobj.css ("フォントサイズ"))
.css("フォントファミリー",tdobj.css("フォントファミリー) "))
.css("背景色",tdobj.css("背景色"))
.css("色","#C75F3E")
.width(tdobj.width ())
.val(text)
.appendTo(tdobj);
inputobj.get(0).select();
//テキストボックスのクリックイベントを防止します
inputobj.click(function(){
return false;
});
/ / テキスト ボックスの Enter キーと Esc キーの操作を処理します
// のイベント メソッドの関数jQuery はイベント パラメータを定義でき、jQuery はブラウザ間の違いをマスクして、使用可能なイベント オブジェクトを渡します
inputobj.keyup(function(event){
//現在のキーのキー値を取得します
//jQuery イベント オブジェクトには、キーボードのキー値を取得するための what 属性があります key
var keycode = events
// キャリッジ リターンを処理します
if(keycode==13){
//現在のテキスト ボックスの内容を取得します
var inputtext = $(this).val();
//td の内容をテキスト ボックスの内容に変更します
tdobj。 html(inputtext);
}
//esc の状況を処理します
if(keycode == 27){
//td の内容をテキストに復元します
tdobj.html(text );
}
});



関連ドキュメント パッケージのダウンロード



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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

PPT テーブルに挿入される画像の形式を調整する手順 PPT テーブルに挿入される画像の形式を調整する手順 Mar 26, 2024 pm 04:16 PM

1. 新しい PPT ファイルを作成し、例として [PPT Tips] という名前を付けます。 2. [PPT Tips]をダブルクリックしてPPTファイルを開きます。 3. 例として 2 行 2 列の表を挿入します。 4. 表の境界線をダブルクリックすると、上部ツールバーに[デザイン]オプションが表示されます。 5. [シェーディング]オプションをクリックし、[画像]をクリックします。 6. [画像]をクリックすると、画像を背景にした塗りつぶしオプションダイアログボックスが表示されます。 7. ディレクトリ内で挿入したいトレイを見つけ、「OK」をクリックして画像を挿入します。 8. テーブル ボックスを右クリックして、設定ダイアログ ボックスを表示します。 9. [セルの書式設定]をクリックし、[画像を網掛けとして並べる]にチェックを入れます。 10. [中央]、[ミラー]など必要な機能を設定し、[OK]をクリックします。注: デフォルトでは、表に画像が入力されます。

売上予測表の作り方 売上予測表の作り方 Mar 20, 2024 pm 03:06 PM

帳票を上手に作成できることは、経理や人事、財務の分野だけでなく、多くの営業職にとっても帳票の作成を学ぶことは非常に重要です。なぜなら、販売に関連するデータは非常に大規模かつ複雑であり、問​​題を説明するために文書に単純に記録することはできないからです。より多くの営業マンがExcelを使った表作成に習熟できるよう、売上予測に関する表作成の課題を編集部が紹介しますので、お困りの友人は必見です! 1. [売上予測・目標設定]xlsmを開き、各テーブルに格納されているデータを分析します。 2. 新規に[空のワークシート]を作成し、[セル]を選択し、[ラベル情報]を入力します。下に[ドラッグ]し、月を[塗りつぶします]。 [その他]のデータを入力し、[

条件に応じて色を自動変更するWPS値の設定方法_条件に応じて色を自動変更するWPSテーブル値の設定手順 条件に応じて色を自動変更するWPS値の設定方法_条件に応じて色を自動変更するWPSテーブル値の設定手順 Mar 27, 2024 pm 07:30 PM

1. ワークシートを開き、[スタート]-[条件付き書式]ボタンを見つけます。 2. [列の選択] をクリックし、条件付き書式を追加する列を選択します。 3. [条件付き書式]ボタンをクリックするとオプションメニューが表示されます。 4. [条件付きルールを強調表示]-[間]を選択します。 5. ルールを入力します: 20、24、濃い緑色のテキストと濃い塗りつぶし。 6. 確認後、選択した列のデータは、設定に従って対応する数値、テキスト、セル ボックスで色付けされます。 7. 競合のない条件付きルールは繰り返し追加できますが、競合するルールの場合、WPS は以前に確立された条件付きルールを最後に追加したルールに置き換えます。 8. [Between] ルール 20 ~ 24 と [Less than] 20 の後にセル列を繰り返し追加します。 9. ルールを変更する必要がある場合は、ルールをクリアしてからルールをリセットします。

Wordの表を合計する方法を知っていますか? Wordの表を合計する方法を知っていますか? Mar 21, 2024 pm 01:10 PM

Word の表で数を数えるという問題に遭遇することがあります。通常、このような問題に遭遇すると、ほとんどの生徒は Word の表を Excel にコピーして計算しますが、黙って電卓を手に取る生徒もいます。簡単に計算する方法はありますか?もちろんありますが、実はWordでも合計額を計算することができます。それで、その方法を知っていますか?今日は、一緒に見ていきましょう!困っている友達はすぐに集めてください。手順の詳細: 1. まず、コンピューターで Word ソフトウェアを開き、処理する必要がある文書を開きます。 (図のように) 2. 次に、(図のように) 合計値が配置されているセルにカーソルを置き、[メニュー バー] をクリックします。

初心者がフォームを作成するためのヒントは何ですか? 初心者がフォームを作成するためのヒントは何ですか? Mar 21, 2024 am 09:11 AM

私たちは Excel で表を作成したり編集したりすることがよくありますが、ソフトウェアに触れたばかりの初心者にとって、Excel を使用して表を作成する方法は私たちほど簡単ではありません。以下では、初心者、つまり初心者がマスターする必要があるテーブル作成のいくつかの手順について演習を行います。初心者向けのサンプルフォームを以下に示します。入力方法を見てみましょう。 1. Excel ドキュメントを新規作成するには 2 つの方法があります。 [デスクトップ]-[新規作成]-[xls]ファイル上の何もない場所でマウスを右クリックします。 [スタート]-[すべてのプログラム]-[Microsoft Office]-[Microsoft Excel 20**] を実行することもできます。 2. 新しい ex ファイルをダブルクリックします。

Word の表に自動番号付けまたはシリアル番号を挿入する方法 Word の表に自動番号付けまたはシリアル番号を挿入する方法 Mar 20, 2024 am 09:30 AM

表を作るとき、真っ先に思いつくのがExcelソフトで表を作ることですが、実はWordソフトを使うととても便利なのをご存知ですか?Wordソフトで表を作ると連番を入力する必要がある場合があります。いちいち手で入力するととても面倒です。実はワードソフトには数字や連番を自動で挿入できる機能があるので、エディターで自動で番号を挿入する方法を学びましょう。またはシリアル番号を Word テーブルに挿入します。 1. まず Word 文書を作成し、表を挿入します。 2. 自動シリアル番号または数字を挿入する列またはセルを選択します。 3.「スタート」-「番号」をクリックします。 4. いずれかのスタイル番号を選択します。 5.

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

jQueryでPUTリクエストメソッドを使用するにはどうすればよいですか? jQuery で PUT リクエストを送信する方法は、他のタイプのリクエストを送信する方法と似ていますが、いくつかの詳細とパラメータ設定に注意する必要があります。 PUT リクエストは通常​​、データベース内のデータの更新やサーバー上のファイルの更新など、リソースを更新するために使用されます。以下は、jQuery の PUT リクエスト メソッドを使用した具体的なコード例です。まず、jQuery ライブラリ ファイルが含まれていることを確認してから、$.ajax({u

WPSドキュメントテーブルの色の設定方法をご存知ですか? WPSドキュメントテーブルの色の設定方法をご存知ですか? Mar 20, 2024 am 08:19 AM

他の人の WPS ドキュメントのテーブル カラーを見ると、効果はカラフルで美しいですが、私たちは単調な黒しかありません。表を色で埋めなければならない場合、多くの学生がそうするでしょう。しかし、WPS ドキュメント China でテーブルの色を設定したい場合、多くの学生は間違いなく混乱するでしょう。今日は、WPS ドキュメントテーブルの色の設定方法を学びましょう。皆様のお役に立てればと思い、資料を作成させていただきました。手順は次のとおりです。 1. WPS ドキュメント内に表を描画し、線の色を変更する表を右クリックする必要があります。 2. 次に、表上でマウスを右クリックし、ポップアップメニューに「枠線と網かけ」が表示されます。 3. このとき、[境界線と網かけ]オプションが開きます。

See all articles
000001/tr>
李思