span标签:标签:单击,oldhtml,js,element,value,双击,newobj,id,datas From: https://blog.51cto.com/u_15565664/5757450
<span class="text-info" id="pay_type" οndblclick='edit(this,this.id)'>{if !empty($data['pay_type'])}{$data['pay_type']}{else /}双击文字修改{/if}</span>
js代码:
function edit(element,datas){
var datas = datas;
var oldhtml = element.innerHTML;//获得元素之前的内容
var newobj = document.createElement('input');//创建一个input元素
newobj.type = 'text';//为newobj元素添加类型
newobj.value=oldhtml;
element.innerHTML = ''; //设置元素内容为空
element.appendChild(newobj);//添加子元素
newobj.focus();//获得焦点
//设置newobj失去焦点的事件
newobj.onblur = function(){
//下面应该判断是否做了修改并使用ajax代码请求服务端将id与修改后的数据提交 name=John&location=Boston
var name = newobj.value;
// alert("id="+{$id}+"&"+datas+"="+name);
$.ajax({ type: "POST",
url: "/admin/order/design_update.php",
data: "id="+{$id}+"&"+datas+"="+name,
dataType: "json",
success: function(msg){
if(msg==1){
alert('修改成功');
}else{
alert('修改失败');
} }
});
//当触发时判断newobj的值是否为空,为空则不修改,并返回oldhtml
element.innerHTML = this.value ? this.value : oldhtml;
}
}