html的table实现双击打开编辑框,失去焦点保存

html:

<td ondblclick="zdyEditTableCell(this,'<s:property value="#l.id"/>','sums')"><s:property value="#l.sums" /></td>

JS:

/**
 * html的table双击打开编辑框(原始的table的单元格td的ondblclick事件)
 * @param element 表格的td
 * @param id 指标indexItems的id值
 * @param field 表示的是indexItems的哪个属性值被修改
 */
function zdyEditTableCell(element, id,field) {
	if(id <= 0){
		return false;
	}
    var oldhtml = $.trim($(element).text());//原单元格里的值
    var str = "<input type='text' class='edit' name='test' style='width:90%' onblur='inputBlurFun(this,"+id+",\""+field+"\","+oldhtml+");' value='"+oldhtml+"'/>";
    
    $(element).text('');
    $(element).append(str);
    $(element).find('input[name="test"]').focus();
    $(element).find('input[name="test"]')[0].select();
}

/**
 * html的table的单元格失去焦点事件
 * @param input input输入框
 * @param id 指标indexItems的id值
 * @param field 表示的是indexItems的哪个属性值被修改
 * @param oldhtml 原值
 * @returns {Boolean}
 */
function inputBlurFun(input,id,field,oldhtml){
    var text = $(input).val();
    $(input).text(text);
  //移除新增加的input元素
    var td = $(input).parent('td');
    $(input).remove();
    td.text(text);
    if(oldhtml == text){
    	//如果值没有被改变,则不修改
    	var uid = $(this).attr('uid');
		changePrevFun(td,text,uid,false);
    	return false;
    }
    var url="./iface/changeIndexItems";
    var data = {};
    data['indexItemsObject.id'] = id;
    data['indexItemsObject.'+field+''] = text;
    data['id'] = eprjInfoId;
	$.post(url,data,function(data){
		var obj = eval("("+data+")");
		if(obj.returnCode == 1){
			$.easyui.messager.show({ icon: "info", msg: obj.message, position: "topCenter" ,timeout:3000}); 
			return false;
		}
		$.easyui.messager.show({ icon: "info", msg: obj.message, position: "topCenter" ,timeout:3000}); 
		 return false;
	});
    return false;
}

 

转载于:https://my.oschina.net/u/2331760/blog/1806054

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值