ホームページ  >  記事  >  ウェブフロントエンド  >  jQuery模倣Excelテーブル編集機能実装 code_jquery

jQuery模倣Excelテーブル編集機能実装 code_jquery

WBOY
WBOYオリジナル
2016-05-16 17:34:511291ブラウズ

ドラッグやコピー、Ctrl C、Ctrl V など、Excel で実行できるほぼすべての操作を Web 上で実行できます。

また、ブラウザのサポートに関しては、IE7、FF、Chrome、Safari、Opera のブラウザをサポートしています。

使用方法:
まず、jQuery フレームワークと、Handsontable プラグインの関連する JS ファイルと CSS ファイルをページに導入します。以下に挙げる 2 つは必須であり、その他は必要に応じてオプションです。必要に応じて関数を追加します (デモを参照)。

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





次に、Excel 編集テーブルをレンダリングするための DIV レイヤー を追加します。

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



最後に初期化できます

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

//データ
var data = [
{id: 1, name: "Ted", isActive: true, color: "orange"},
{id: 2, name : "ジョン"、isActive: false、色: "黒"},
{id: 3, 名前: "アル"、isActive: true、色: "赤"},
{id: 4, 名前: "Ben"、isActive: false、color: "blue"}
];
//黄色渲染方法
var yellowRenderer = function (instance, td, row,col, prop, value, cellProperties) {
Handsontable.TextCell.renderer.apply(this, argument);
$(td).css({
背景: ' yellow'
});
};
//绿色渲染方法
var greenRenderer = function (instance, td, row,col, prop, value, cellProperties) {
Handsontable.TextCell.renderer.apply(this, argument);
$(td ).css({
背景: 'green'
});
};
//初期化
var $container = $("#example1");
$container .handsontable({
data: data,
startRows: 5,
colHeaders: true,
minSpareRows: 1,
列: [
{data: "id"},
{data: "name", type: {renderer: yellowRenderer}}, //黄色渲染
{data: "isActive", type: Handsontable.CheckboxCell}, //多选框
{data : "color",
type: Handsontable.AutocompleteCell, //自動完了
source: [" yellow"、" red"、 " orange"、 " green"、 " blue"、 " grey "、 " black" , "white"] //データソース
}
],
セル: 関数 (行, 列, プロパティ) {
if (行 === 0 && 列 === 0) {
return {type: {renderer: greenRenderer}};
}
}
});

div コンテナはロード後に初期化されることに注意してください:

デモコード:

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





基本デモ< ;/title><br> <script src="jquery.min.js"></script><br> <script src="jquery.handsontable.full.js"></script> <br> <link rel="stylesheet" href="jquery.handsontable.full.css"><br> <script><br> $(function(){<br> //数式<br> var data = [<br> {id: 1, name: "テッド", isActive: true, color: "オレンジ"},<br> {id: 2, name: "John", isActive: false, color: "black "},<br> {id: 3, name: "Al", isActive: true, color: "red"},<br> {id: 4, name: "Ben", isActive: false, color: "blue "}<br> ];<br> //黄色渲染方法<br> var yellowRenderer = function (instance, td, row,col, prop, value, cellProperties) {<br> Handsontable.TextCell. renderer.apply(これ, 引数);<br> $(td).css({<br> background: ' yellow'<br> });<br> };<br> //绿色渲染方法<br> var greenRenderer = function (インスタンス、td、行、列、プロパティ、値、cellProperties) {<br> Handsontable.TextCell.renderer.apply(this, argument);<br> $(td).css({<br> 背景: '緑' <br> });<br> };<br> //初化<br> var $container = $("#example1");<br> $container.handson table({<br> データ: データ,<br> startRows: 5,<br> colHeaders: true,<br> minSpareRows: 1,<br> columns: [<br> {data: " id"},<br> {データ: "名前"、タイプ: {レンダラー: yellowRenderer}}, //黄色渲染<br> {data: "isActive", type: Handsontable.CheckboxCell}, //多选框<br> {data: "color",<br> type: Handsontable .AutocompleteCell、 //自動完了<br> source: [" yellow" 、 " red " 、 " orange " 、 " green " 、 " blue " 、 " grey " 、 " black " 、 "white" ] // データソース<br> }<br>              ],<br>              cells: function (row, col, prop) {<br>                if (row === 0 && col === 0) {<br>                  return {type: {renderer: greenRenderer}};<br>                }<br>              }<br>            });<br>        });<br>    </script><br></head><br><body><br>    <div id="example1" ></div><br></body><br></html><br> </div></div><div class="nphpQianMsg"><div class="clear"></div></div><div class="nphpQianSheng"><span>声明:</span><div>この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。</div></div></div><div class="nphpSytBox"><span>前の記事:<a class="dBlack" title="KMPアルゴリズムに基づくJavaScript実装手法の解析_基礎知識" href="http://m.php.cn/ja/faq/17284.html">KMPアルゴリズムに基づくJavaScript実装手法の解析_基礎知識</a></span><span>次の記事:<a class="dBlack" title="KMPアルゴリズムに基づくJavaScript実装手法の解析_基礎知識" href="http://m.php.cn/ja/faq/17286.html">KMPアルゴリズムに基づくJavaScript実装手法の解析_基礎知識</a></span></div><div class="nphpSytBox2"><div class="nphpZbktTitle"><h2>関連記事</h2><em><a href="http://m.php.cn/ja/article.html" class="bBlack"><i>続きを見る</i><b></b></a></em><div class="clear"></div></div><ul class="nphpXgwzList"><li><b></b><a href="http://m.php.cn/ja/faq/1609.html" title="Bootstrap リスト グループ コンポーネントの詳細な分析" class="aBlack">Bootstrap リスト グループ コンポーネントの詳細な分析</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ja/faq/1640.html" title="JavaScript関数のカリー化の詳細説明" class="aBlack">JavaScript関数のカリー化の詳細説明</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ja/faq/1949.html" title="JS パスワードの生成と強度検出の完全な例 (デモ ソース コードのダウンロード付き)" class="aBlack">JS パスワードの生成と強度検出の完全な例 (デモ ソース コードのダウンロード付き)</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ja/faq/2248.html" title="Angularjs は WeChat UI (weui) を統合します" class="aBlack">Angularjs は WeChat UI (weui) を統合します</a><div class="clear"></div></li><li><b></b><a href="http://m.php.cn/ja/faq/2351.html" title="JavaScript を使用して繁体字中国語と簡体字中国語をすばやく切り替える方法と、簡体字中国語と繁体字中国語の切り替えをサポートする Web サイトのトリック_javascript スキル" class="aBlack">JavaScript を使用して繁体字中国語と簡体字中国語をすばやく切り替える方法と、簡体字中国語と繁体字中国語の切り替えをサポートする Web サイトのトリック_javascript スキル</a><div class="clear"></div></li></ul></div></div><footer><div class="footer"><div class="footertop"><img src="/static/imghwm/logo.png" alt=""><p>福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!</p></div><div class="footermid"><a href="http://m.php.cn/ja/about/us.html">私たちについて</a><a href="http://m.php.cn/ja/about/disclaimer.html">免責事項</a><a href="http://m.php.cn/ja/update/article_0_1.html">Sitemap</a></div><div class="footerbottom"><p> © php.cn All rights reserved </p></div></div></footer><script>isLogin = 0;</script><script type="text/javascript" src="/static/layui/layui.js"></script><script type="text/javascript" src="/static/js/global.js?4.9.47"></script></div><script src="https://vdse.bdstatic.com//search-video.v1.min.js"></script><link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css' type='text/css' media='all'/><script type='text/javascript' src='/static/js/viewer.min.js?1'></script><script type='text/javascript' src='/static/js/jquery-viewer.min.js'></script><script>jQuery.fn.wait = function (func, times, interval) { var _times = times || -1, //100次 _interval = interval || 20, //20毫秒每次 _self = this, _selector = this.selector, //选择器 _iIntervalID; //定时器id if( this.length ){ //如果已经获取到了,就直接执行函数 func && func.call(this); } else { _iIntervalID = setInterval(function() { if(!_times) { //是0就退出 clearInterval(_iIntervalID); } _times <= 0 || _times--; //如果是正数就 -- _self = $(_selector); //再次选择 if( _self.length ) { //判断是否取到 func && func.call(_self); clearInterval(_iIntervalID); } }, _interval); } return this; } $("table.syntaxhighlighter").wait(function() { $('table.syntaxhighlighter').append("<p class='cnblogs_code_footer'><span class='cnblogs_code_footer_icon'></span></p>"); }); $(document).on("click", ".cnblogs_code_footer",function(){ $(this).parents('table.syntaxhighlighter').css('display','inline-table');$(this).hide(); }); $('.nphpQianCont').viewer({navbar:true,title:false,toolbar:false,movable:false,viewed:function(){$('img').click(function(){$('.viewer-close').trigger('click');});}}); </script></body></html>