検索
ホームページウェブフロントエンドjsチュートリアルJs を使用して、myself_javascript スキルによって作成されたテーブルの例を動的に追加します

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

function addEvent (o,c,h){
if(o.attachEvent){
o.attachEvent('on' c,h);
o.addEventListener(c,h,false);
}
return true;}
var selectRow;//選択された行を保存して、ポップアップウィンドウ 行割り当て
function addnode()
{
var table=document.getElementById("Dy_table");
var tr=table.insertRow(); tr.insertCell();
var cell1=tr.insertCell();
var cell3=tr.insertCell(); insertCell();
var cell5=tr.insertCell();
var cell7=tr.insertCell() );
var cell9=tr.insertCell();
var hidden1=document.createElement("") ;
var hidden2=document.createElement("");
var hidden3=document.createElement("");
var hidden4=document.createElement("");//行ステータス
var hidden5=document .createElement("");//単価を非表示
var input1=document.createElement("");
var input2=document.createElement("");
var input3=document.createElement("");
var input4=document.createElement("var input5=document.createElement("");
var input6 =document.createElement( "");
var input8=document.createElement("") ;
var input9=document.createElement("")
var oOption1= document.createElement("オプション");
var oOption2=document.createElement("オプション");
var oOption3=document.createElement("オプション"); document.createElement(" オプション");
input6.options.add(oOption2);
input6.options.add(oOption3); options.add(oOption4 );
oOption1.innerText="契約部品";
oOption2.innerText="外部委託部品"; "外注部品" ";
oOption3.innerText="スペアパーツ部門";
oOption3.value="スペアパーツ部門";
oOption4.innerText="メーカー供給部品";
oOption4。 value="メーカー提供の部品 ";
var rowIndex;
var rowCount = table.rows[0].cells[0].getElementsByTagName("input") )[2].value ;//ユーザーに表示される行数
cell0.innerText=parseInt(rowCount) 1;
table.rows[0].cells[0].getElementsByTagName("input" )[2].value = parseInt( rowCount) 1;
hidden2.value = parseInt(table.rows[0].cells[0].getElementsByTagName("input")[1].value) 1; >table.rows[0].cells [0].getElementsByTagName("input")[1].value=hidden2.value;
cell1.appendChild(input1);
cell1.appendChild(hidden1);/ /製品コード
cell1.appendChild (hidden2);//内部シーケンス
cell1.appendChild(hidden3);//変更と削除に使用されるこの行のID
cell1.appendChild(hidden4);/ /この行のステータス
cell2.appendChild(input3);
cell4.appendChild(hidden5); appendChild(input5);
cell9.appendChild(input8);
cell7.appendChild(input7); =function(obj)
{
return function(){textChange(obj);}
}
var ttt=function(obj)
{
return function(){selectChange (obj);}
}
addEvent(input1,"change",tt(input1));
addEvent(input2,"change",tt(input1)); "変更",tt(input1)) ;
addEvent(input4,"change",tt(input1));
addEvent(input5,"change",tt(input1)); ,"change",ttt(input6) );
addEvent(input7,"change",tt(input1));
// addEvent(input8,"change",tt(input1)); }
function delnode()/ /削除時のイベント
{
var table=document.getElementById("Dy_table");
var rowCount = table.rows[0].cells[0]。 getElementsByTagName("input")[2 ].value;//ユーザーに表示される行の数
var row;//最後に表示される行を保存します
for( var i=table.rows.length-1 ; i>=0 ;i--)
{
if(table.rows[i].style.display!="none")
{
row=table.rows[i] ;
休憩
}
}
var rowId=row.cells[1].getElementsByTagName("input")[3].value;
if( rowCount > 1 )
{
if(rowId=="") //新しく追加された行がデータベースに書き込まれていない場合は、直接削除します
{
row.removeNode(true);
table.rows[0].cells[0].getElementsByTagName("input ")[ 2].value = parseInt(rowCount) - 1;
}
else//データベースから削除する必要がある場合は、削除マークを設定します
{
row.style. display="none";
row.cells[1].getElementsByTagName("input")[4].value = "2"; input")[2].value = parseInt(rowCount-1);
}
}
else
{
if(rowId == "")//新しい行がデータベースに書き込まれていません。クリアします
{
row.cells.item(1).getElementsByTagName("input")[0].value="";
row.cells.item(1) .getElementsByTagName("input")[1 ].value="";
row.cells.item(2).getElementsByTagName("input")[0].value="";
row.cells. item(3).getElementsByTagName("input ")[0].value="1";
row.cells.item(4).getElementsByTagName("input")[0].value=""; >row.cells.item(7) .getElementsByTagName("input")[0].value="";
row.cells.item(5).getElementsByTagName("input")[0].value=" ";
row.cells. item(6).getElementsByTagName("select")[0].selectedIndex=0;
}
else//データベースから削除する必要がある場合は、マークを削除します
{
row.style.display="none";
row.cells[1].getElementsByTagName("input")[4].value = "2"; rows[0].cells[0].getElementsByTagName(" input")[2].value = parseInt(rowCount) - 1;
addnode();
}
}
setClf() ;
}
function delnode1(o) //削除時のイベント
{
var tr=o.parentElement.parentElement;
var table=document.getElementById("Dy_table"); 🎜>var rowCount = table.rows[0].cells[0].getElementsByTagName("input")[2].value;//ユーザーに表示される行数
var rowId=tr.cells[1] ].getElementsByTagName("input")[3].value;
if( rowCount > 1 )
{
if(rowId=="")//新しく追加された行が書き込まれていない場合データベースを直接削除します。
{
tr.removeNode(true );
table.rows[0].cells[0].getElementsByTagName("input")[2].value = parseInt(rowCount) ) - 1;
}
else
{
tr.style.display="none";
tr.cells[1].getElementsByTagName("input")[4].value = "2";
table.rows[0].cells[0 ].getElementsByTagName("input")[2].value =
}
}
else
{
if(rowId=="")// 新しく追加された行がデータベースに書き込まれない場合は、それらを直接クリアします
{
tr.cells.item(1).getElementsByTagName ("input")[0].value="";
tr.cells.item(1).getElementsByTagName("input")[1].value=""; 2).getElementsByTagName("input")[0].value="";
tr.cells.item(3).getElementsByTagName("input")[0].value="1"; .cells.item(4).getElementsByTagName("input")[0].value=" ";
tr.cells.item(7).getElementsByTagName("input")[0].value="";
tr.cells.item(5).getElementsByTagName("input")[0] .value="";
tr.cells.item(6).getElementsByTagName("select")[0].selectedIndex =0;
}
else//データベースから削除する必要がある場合は、削除タグ
{
tr.style.display="none"; に置きます。 cell[1].getElementsByTagName("input")[4].value = "2";
table.rows[0].cells[0].getElementsByTagName("input")[2].value = parseInt( rowCount) - 1;
addnode();
}
}
// 以下のループは、中央から削除するときにテーブルの行番号を更新するために使用されます
rowCount = table.rows [0].cells[0].getElementsByTagName("input")[2].value;
for( var i= 1, p = 1; i
{
if(table.rows[i].style.display!="none")
{
table.rows [i].cells[0].innerText = p; 🎜>}
}
setClf();
}
//
関数 textChange(o)
{
setClf(); を変更したときに発生するイベントvar tr=o.parentElement.parentElement;
var rowState = tr.cells[1].getElementsByTagName("input")[4] .value
if( rowState == "1")
return; ;
else
tr.cells[1].getElementsByTagName("input")[4].value = "3";
}
//ドロップダウン ボックス オプションの変更 setClf()ここでは指定されていない金額を計算します。
function selectChange(o)
{
var tr=o.parentElement.parentElement;
var glf = tr.cells[7].getElementsByTagName("input ")[0];
var dj = tr.cells[4].getElementsByTagName("input")[0];
var dj1 = tr.cells[4].getElementsByTagName("input")[1 ];
if( o.selectedIndex==0)// コントラクト
{
glf.value='0.00';
dj.value=dj1.value();
return;
}
if( o.selectedIndex==1)//外注部品
{
glf.value='0.20';
dj.value=dj1.value ;
setClf();
return;
}
if( o.selectedIndex==2)// スペアパーツ部門
{
glf.value='0.00'; 🎜>dj.value=dj1.value;
setClf();
}
if( o .selectedIndex==3)//メーカー提供
{
glf .value='0.00';
dj.readOnly=true;
return;
//送信前にデータを検証して重複行がないことを確認します
function checkSameData()
{
var table=document.getElementById("Dy_table")
// var rowCount = table .rows[0].cells[0].getElementsByTagName("input")[2].value;//ユーザーに表示される行数
for( var i= 1; i {
if(table.rows[i].style.display == "none"||table.rows[i].cells[1].getElementsByTagName("input")[ 1].value == "") 続行;
for( var p= i 1; p {
if(table.rows[p].style .display == "none") 続行;
if(table.rows[i].cells[1].getElementsByTagName("input")[1].value.replace(/s $/g,"") ==
table.rows[p].cells[1].getElementsByTagName("input")[1].value.replace(/s $/g,""))
{alert("パーツ セクション内の項目が重複しているため、保存できません! ");return false;}
}
}
return true;
}
//パーツ ウィンドウが開いているかどうか
var DialogWin;
function selectLj( o)// パーツを選択
{
if(dialogWin == null)
{
selectRow = o.parentElement.parentElement;// 行を割り当てるグローバル変数
dialogWin = window.showModelessDialog("../jddgl/Select_lj.aspx",window,
"center:yes;dialogWidth:550px;dialogHeight:400px;help:no;status:no;" );
}
}

========
フロントページ
コードをコピー コードは次のとおりです:





input name='Dy_text_ljh' style='width:100px' ondblclick='selectLj(this)' onchange='textChange(this)' type='text' />







;td> 🎜>
テーブル>


このプロジェクトにはこの関数が必要で、私はこれの方が良いと思います (結局、私はこれを書くのに多くの時間を費やしましたが、笑) 友達ができることを願っています。改善と改善に役立つアドバイスをください。失敗作、FFと互換性なし、まずい!
シリアル番号

行数--%>
部品名 td>
単価
メーカー
素材の供給元
管理費
/td> 合計

1

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
如何使用 JavaScript 实现表格列宽拖拽调整功能?如何使用 JavaScript 实现表格列宽拖拽调整功能?Oct 21, 2023 am 08:14 AM

如何使用JavaScript实现表格列宽拖拽调整功能?随着Web技术的发展,越来越多的数据以表格的形式展示在网页上。然而,有时候表格的列宽并不能满足我们的需求,可能会出现内容溢出或者宽度不足的情况。为了解决这个问题,我们可以使用JavaScript实现表格的列宽拖拽调整功能,使用户可以根据需求自由调整列宽。实现表格列宽拖拽调整功能,需要以下三个主

表格有一条虚线外打印不到怎么办表格有一条虚线外打印不到怎么办Mar 28, 2023 am 11:38 AM

表格有一条虚线外打印不到的解决办法:1、打开excel文件,在打开的页面中点击“打印”;2、在预览页找到“无缩放”,选择调整为一页;3、选择打印机打印文档即可。

css怎么去掉表格重复的边框css怎么去掉表格重复的边框Sep 29, 2021 pm 06:05 PM

在css中,可以使用border-collapse属性来去掉表格中重复的边框,该属性可以设置表格边框是折叠为单一边框还是分开的,只需要将值设置为collapse即可把重叠的边框合并在一起,成为一个边框,实现单线边框的效果。

Vue中如何实现表格数据的导出和导入Vue中如何实现表格数据的导出和导入Oct 15, 2023 am 08:30 AM

Vue中如何实现表格数据的导出和导入,需要具体代码示例在使用Vue开发的Web项目中,经常会遇到需要将表格数据导出为Excel或导入Excel文件的需求。本文将介绍如何使用Vue来实现表格数据的导出和导入功能,并提供具体的代码示例。一、表格数据的导出安装依赖首先,我们需要安装一些依赖,用于导出Excel文件。在Vue项目中的命令行中运行以下命令:npmin

使用JavaScript实现表格筛选功能使用JavaScript实现表格筛选功能Aug 10, 2023 pm 09:51 PM

使用JavaScript实现表格筛选功能随着互联网技术的不断发展,表格成为了网页中常见的展示数据的方式。然而,当数据量庞大时,用户往往会面临找到特定数据的困难。因此,为表格添加筛选功能,让用户可以快速找到所需的数据,成为了很多网页设计的需求。本文将介绍如何使用JavaScript实现表格筛选功能。首先,我们需要有一份表格数据。下面是一个简单的例子:<t

使用JavaScript实现表格数据的分页显示使用JavaScript实现表格数据的分页显示Jun 16, 2023 am 10:00 AM

随着数据的不断增长,表格显示变得更加困难。大多数情况下,表格中的数据量过大,导致表格在加载时变得缓慢,而且用户需要不断地浏览页面才能找到自己想要的数据。本文将介绍如何使用JavaScript实现表格数据的分页显示,让用户更容易找到自己想要的数据。一、动态创建表格为了使分页功能更加可控,需要动态创建表格。在HTML页面中,添加一个类似于下面的table元素。

如何使用 JavaScript 实现表格分页功能?如何使用 JavaScript 实现表格分页功能?Oct 20, 2023 pm 06:19 PM

如何使用JavaScript实现表格分页功能?随着互联网的发展,越来越多的网站都会使用表格来展示数据。在一些数据量较大的情况下,需要将数据进行分页展示,以提升用户体验。本文将介绍如何使用JavaScript实现表格分页功能,并提供具体的代码示例。一、HTML结构首先,我们需要准备一个HTML结构来承载表格和分页按钮。我们可以使用<tab

Vue文档中的表格勾选和全选函数操作方法Vue文档中的表格勾选和全选函数操作方法Jun 20, 2023 pm 10:33 PM

Vue是一种流行的JavaScript框架,它可以让开发人员轻松地构建交互式、响应式的Web界面。Vue框架提供了一系列的组件和指令,用于构建常见的页面元素,如表格、表单、菜单等。在这篇文章中,我们将探讨Vue文档中的表格勾选和全选函数操作方法。在Vue中,我们可以使用v-model指令将表单元素与Vue实例中的数据进行双向绑定。这使得我们可以轻松地收集用户

See all articles

ホット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ヘンタイを無料で生成します。

ホットツール

SublimeText3 Mac版

SublimeText3 Mac版

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

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

Dreamweaver Mac版

Dreamweaver Mac版

ビジュアル Web 開発ツール