スクリーンショット
フロントエンドコード
< フォーム名= "Form1の" メソッド= "ポスト" アクション= "pMmEquipMent2 saveMmEqiup.action!" ID = "Form1の" > < S:隠されたキー= "vo.id" /> < S:隠されたキー= "vo.dock " > </ sの:隠された> < S:隠されたキー="行為" /> < divの> < テーブルCELLPADDING = "0" 国境= "0" CELLSPACING = "0" クラス="edittable」 ID = "TABLE1" > < TBODYID = "TBODY" > </ TBODY > </ テーブル> < BR /> < 入力タイプ= "ボタン" 値= "增加" のonclick = "f_addTr()" > </ 入力> </ DIV > </ フォーム>
// 添加TR 機能f_addTr(){ VAR allTr = $( "#TABLE1 TBODY TR" ); もし(!allTr && allTr.length = 0 && allTr = nullを!&& allTr = "" ){ VAR addEquip = $( "TR:最後:")。子ども( 'TD')EQ(1).find(。 "入力[名前= equipmentIds]" )。 VAR equipmentId = $(addEquip).val(); もし(!equipmentId || equipmentId <= 0 || equipmentId == nullの || equipmentId == "" ){ 警告( "设备有空值请先选择" ); } } VARのhtml = '<TR>' / * + '<tdのスタイル= "パディングトップ:10pxの;">设备类型:</ TD>' + '<TD> <選択したスタイル= "幅:120ピクセル"の名前= "selectNames"クラス= "selectName"のonchange = "addEquip(この)"> </ select>の&NBSP;&NBSP; </ TD> ' * / +' <tdのスタイル= "パディングトップ:10pxの;">设备: </ TD> ' +' <TD> <入力タイプ= "テキスト"名前= "equipNames"スタイル= "幅:260px"クラス= "equipAlias">の<input type = "隠された"名前= "equipmentIds">&NBSP; &NBSP; </ TD>」 + '<TD>位号:</ TD>' + '<TD>の<input type = "text"の名= "タグ"スタイル= "幅:150ピクセル" calss = "タグ">の<input type = "隠されました"名前= "tagIds"> </ TD>」 + '<TD>&NBSP;&NBSP;の<input type = "ボタン"値= "删除"のonclick = "deleteTr(この)"> </ TD>' + '</ TR>' $( "#tbody").append(HTML)。 // f_addSelect(); f_addEquip(); }
); ました equipmentIds = $( "TR:最後:")。。子供たち( "TD")EQ(1).find( "入力[名前= equipmentIds]" ); // 。$( "equipAlias")flushCacheに(); $(equipAlias).val( "" ); $(equipmentIds).val( "" ); $(タグ).val( "" ); $(tagIds).val( "" ); $(equipAlias).flushCacheに(); $(タグ).flushCache(); $(equipAlias).autocomplete( "$ {CTX} /mm/pMmEquipMent2!findEquipAlias.action" 、{ 最大: 30、 // 自動的に最小の文字をアクティブにする前に満たされた 幅:260、 // 隠されたオーバーフローのプロンプト幅 scrollHeight:300、 // オーバーフロースクロールバーの高さのプロンプト matchContains:真に、 // マッチは、データパラメータである含まれていデータは、限りデータはショーのテキストボックスに含まれているよう オートフィル:偽、 // 自動的に記入 mustMatchを:trueに、 // trueに:唯一の結果は、入力ボックスに表示される一致することができ、デフォルトはfalseである データ型は:「JSON」、 複数の:偽、 // 複数の値が( ""区切り)かどうか matchSubset:真、 extraParams:{ // equipTypeId:関数(){戻り$(OBJ).val();}、 equipAlias:関数(){ 戻りencodeURIComponentで($(equipAlias).val())。} }、 解析:機能(データ){ VARの DATAS = 新しいアレイ()。 もし(データ!= nullの && data.length> 0 ){ $ .each(データ、機能(I、アイテム){ VAR_data = { データ:項目 値:item.name、 結果:item.name } datas.push(_data)。 }) } 戻りDATAS。 }、 formatItem:関数(行、I、MAX){ 戻りrow.name。 }、 するformatResult:関数(行){ リターンrow.name; } 。})結果(関数(例えば、項目、値){ // VAR equipmentIds = tr.children( "TD")は式(3).find( "入力[名前= equipmentIds]"); $(equipmentIds) .val(item.id); f_selectTags(タグ、tagIdsは、item.id); }); }
// 対応するTRの削除 機能deleteTr(OBJ){ $(OBJ).parent()親()親()[.. 0] .removeChild($(OBJ).parent()親()[0 ])。 }