juicer实现表格显示,增加或删除一条数据

首先定义一个所需要的juicer模板,这里是tbody


  <table id="contentTable" class="table table-striped table-bordered table-hover tableFixedHead">
            <thead>
            <tr>
                <th style="text-align: center" >组号</th>
                <th style="text-align: center" >项目</th>
            </tr>
            </thead>
            <tbody class="recipeinfobox" id="reportProjectsTbody">

            </tbody>
            <tfoot>
            <tr>
                <td colspan="2" style="background-color: #f2f2f2">
                    <div>
                        <input type="text" id="adddrug" placeholder="请先选择种类"/>

                    </div>
                </td>
            </tr>
            </tfoot>
        </table>



<script  type="text/juicer" id="reportTemplateTpl">
		{@each result as item,index}
			<tr  data-e1quipment='{"type":"s{item.type}","id":"s{item.id}","ids":"s{item.ids}","pharmacyUnit":"s{pharmacyUnit}","medicinesName":"s{item.medicinesName}","sortNum":"s{item.sortNum}","medicinesNameSp":"s{item.medicinesNameSp}","standard":"s{item.standard}","unit":"s{item.unit}"}'>
				<td>
				<input id="ids" expd value="s{item.ids}" type="hidden"/>
				<input id="type_s{item.ids}" expd value ="s{item.type}" type="hidden"/>
				<input id="id_s{item.ids}" expd value="s{item.id}" type="hidden"/>
				<input id ="thisid_s{item.ids}" expd value="s{item.thisid}" type="hidden"/>
				<input id="sortNum_s{item.ids}" expd type="text"  value="s{item.sortNum}"/>
				</td>
				<td>
				 <span id="medicinesName_s{item.ids}" expd>s{item.medicinesName}</span>
				</td>
				 <td>
				   <span id="standard_s{item.ids}" expd>s{item.standard}</span>
				</td>
				<td>
				  <a href="javascript:" οnclick="del('s{item.ids}','s{item.ids}','s{item.type}',this)" title="删除"><i class="fa fa-trash-o"></i>删除</a>
				</td>
			</tr>
		 {@/each}
	</script>

通过下拉列表向table添加数据。

 
$('#adddrug').combogrid({
                        panelWidth: 1150,
                        idField: 'code',
                        textField: 'name',
                        pagination: true,
                        pageSize: 10,
                        pageList: [10,25,50,100],
                        rownumbers: true,
                        method: 'post',
                        url:"",
                        mode: 'remote',
                        columns: [[
                            {field: 'id', title: 'ID', width: 60,hidden: true},
                            {field: 'ids', title: 'ID', width: 60,hidden: true},
                            {field: 'medicinesName', title: '通用名称', width: 100},
                            {field: 'mnemonicCode', title: '助记码', width: 100},
                            {field: 'medicinesNameSp', title: '商品名称', width: 100},
                            {field: 'mnemonicCodeSp', title: '第二助记码', width: 100},
                            {field: 'standard', title: '规格', width: 100}
                            
                        ]],

                            onClickRow: function (index, row) {
                                   //一条数据只能添加一次
                                     if ($.inArray(row.ids,projects) >= 0) {
                                         showTip("非药品项目不能重复!", "error", 3000);
                                         return;
                                     
                                 }
                               //要添加到table的数据集合
                                var data = {
                                    "ids":"",
                                    "id":"",
                                    "sortNum":0,
                                    "medicinesName":"",
                                    "medicinesNameSp":"",
                                    "standard":""
                                    "type":""

                                };
                                var result = new Array();
                                var result1 = new Object();
                              
                                
                                    data.medicinesName = medicinesName;
                                    data.standard = row.standard;
                                    data.unit=row.unit;
                                    data.unitCode=200;
                 
                                  
                                }
                                data.id = row.id;
                                data.ids= row.ids;
                                data.type = type;
                                data.pharmacyUnit=row.pharmacyUnit;
                                data.pharmacyUnitCode=1
                                data.sortNum = sortNum;   //这里的sorNum为序号,要定义为全局变量,初始值为1
                                data.templateId = row.ids;
                                 result.push(data);
                                result1.result = result;
                                //初始化模板
                                var tpl = getTemplate("reportTemplateTpl");
                                //构建table
                                var views = juicer(tpl, result1);
                                //显示
                                $("#reportProjectsTbody").append(views);
                                if($.inArray(data.templateId,projects)<0){
                                    projects.push(data.templateId);
                                }
                                sortNum++

                        }, keyHandler: {
                            query: function (q) {
                            }
                        }
                    });


  
function getTemplate(id) {
    var tpl = $("#" + id).html().replace(/(\/\/\<!\-\-)|(\/\/\-\->)/g, "");
    return tpl;
}

//删除
 function del(id,projectId,type,_this){
     $(_this).parent().parent().remove();
         sortNum = TrLength()+1;
         if(id && isNotEmpty(id)){
             delProjects.push(id);
         }
         var index = projects.indexOf(projectId);
         if (index > -1) {
             projects.splice(index, 1);
         }

 }
 function TrLength(){;
     return $("#reportProjectsTbody").find('tr').length;

 }




参考:hospitalOrdersTemplateAdd.jsp

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值