Jquery实现点击文字后变成文本框,修改发送后台保存

本文实现以下几个功能:

1.点击文字变为文本框 ,并选中文字
2.对文本框内容进行修改
3.点击文本框以外的地方文本框再次变为修改后的文字,如果是删除文字,显示默认提示文字
4. 同步更新SQL数据库内容

首先是HTML模板部分:

 1 <{if !empty($img_list)}>
 2 <{foreach $img_list as $kk=>$vv}>
 3 <div class="item-box radius3">
 4     <a href="<{$vv[‘image‘]}>" target="_blank">
 5     <div class="item-image">
 6         <img src="<{$vv[‘image‘]}>?imageView/0/w/260/q/85" />
 7     </div>
 8     </a>
 9     <div class="item-desc" >
10         <span class="item-desc-span"><{$vv[‘name‘]}></span>
11         <input type="hidden" name="image_id" value="<{$vv[‘id‘]}>" />
12     </div>
13     <div class="item-op">
14
15         <{date(‘Y-m-d h:i:s‘,$vv[‘add_time‘])}>
16         <div class="opAbs">
17         <{if $vv[‘status‘]==0}>
18             <span class="op" onclick="set_cover(<{$vv[‘id‘]}>)" >设为封面</span>&nbsp;
19         <{/if}>
20             <span class="op" onclick="image_del(<{$vv[‘id‘]}>)" >删除</span>
21             &nbsp;
22
23
24         </div>
25     </div>
26 </div>
27 <{/foreach}>
28 <{/if}> 

再来是处理脚本:

<script type="text/javascript">
	$(function(){
		$(".item-desc-span").click(function(){
			var span_str = $(this);
			var ex_desc_str = span_str.text();
			var input_str = $("<input type=‘text‘ class=‘editTxt‘ name=‘desc‘ value=‘"+ex_desc_str+"‘ />");
			span_str.html(input_str);
			input_str.click(function() { return false; });
			input_str.trigger("focus");
			input_str.select();
			//input失去焦点时候
			input_str.blur(function(){
				var to_desc = $(this).val();
				var id = $(this).parent().next(‘input‘).val();
				$.ajax({
			          type: ‘POST‘,
			          url: ‘/club_image/set_desc‘,
			          dataType: ‘json‘,
			          data:{‘id‘: id,‘desc‘:to_desc},
			          success: function(data){
			          	if(data.success==1){
			          		if(to_desc){
			          			span_str.html(to_desc);
			          		}else{
			          			span_str.html(‘暂无描述‘);
			          		}
						}else{
							span_str.html(ex_desc_str);
							alert("后台错误:"+data.msg);
						}
			          },
			          error: function(data){
			             alert("AJAX错误");
			             ret = false;
			          }
			      });
			});
			//按下回车键时候
			input_str.keydown(function(event){
				  if(event.keyCode == 13 ) {
					  var to_desc = $(this).val();
					  var id = $(this).parent().next(‘input‘).val();
						$.ajax({
					          type: ‘POST‘,
					          url: ‘/club_image/set_desc‘,
					          dataType: ‘json‘,
					          data:{‘id‘: id,‘desc‘:to_desc},
					          success: function(data){
					          	if(data.success==1){
					          		if(to_desc){
					          			span_str.html(to_desc);
					          		}else{
					          			span_str.html(‘暂无描述‘);
					          		}
								}else{
									span_str.html(ex_desc_str);
									alert("后台错误:"+data.msg);
								}
					          },
					          error: function(data){
					             alert("AJAX错误");
					             ret = false;
					          }
					      });
				  }
			});

		});
	});
</script>

  

时间: 2024-11-04 09:38:20

Jquery实现点击文字后变成文本框,修改发送后台保存的相关文章

使用Jquery实现点击文字后变成文本框且可修改

1 $(function() { 2 //获取class为caname的元素 3 $(".caname").click(function() { 4 var td = $(this); 5 var txt = td.text(); 6 var input = $("<input type='text'value='" + txt + "'/>"); 7 td.html(input); 8 input.click(function()

Jquery实现点击文字后变成文本框且可修改

$(function() { //获取class为caname的元素 $(".caname").click(function() { var td = $(this); var txt = td.text(); var input = $("<input type='text'value='" + txt + "'/>"); td.html(input); input.click(function() { return false;

html制作,点击文字超链接显示文本框,再点击文字超链接隐藏文本框

</head><body> <script> window.onload=function(){ document.getElementById('click').onclick=function(){ if (document.getElementById('text').style.display=='none'){ document.getElementById('text').style.display='block'; }else{ document.getE

点击扩展或缩小文本框效果代码

点击扩展或缩小文本框效果代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/" /><title>点击扩展或缩小文本框效果代码-蚂蚁部落</title><script type="te

c# winform 设置winform进入窗口后在文本框里的默认焦点

http://www.cnblogs.com/JuneZhang/archive/2011/04/19/2020585.html 进入窗口后默认聚焦到某个文本框,两种方法: ①设置tabindex 把该文本框属性里的tabIndex设为0,焦点就默认在这个文本框里了. ②Winform的Activated事件 在Form的Activated事件中添加textBox1.Focus(), 即可获得焦点. ? private void Form1_Activated(object sender, Ev

checkbox复选框和div click事件重叠,点击div后复选框也被选中,同时改变div颜色,否则则不选中

 checkbox复选框和div click事件重叠,点击div后复选框也被选中,同时改变div颜色,否则则不选中 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title></title> <style> div { display: inline-block; width: 100px; margi

jQ禁止右键点击、隐藏搜索文本框文字、在新窗口中打开链接、检测浏览器、预加载图片、页面样式切换、所有列等高、动态控制页面字体大小、获得鼠标指针的X值Y值、验证元素是否为空、替换元素、延迟加载、验证元素是否存在于Jquery集合中、使DIV可点击、克隆对象、使元素居中、计算元素个数、使用Google主机上的Jquery类库、禁用Jquery效果、解决Jquery类库与其他Javascript类库冲突

1. 禁止右键点击 代码如下: $(document).ready(function(){ $(document).bind("contextmenu",function(e){ return false; }); }); 2. 隐藏搜索文本框文字 代码如下: $(document).ready(function() { $("input.text1").val("Enter your search text here"); textFill($

Tag It 一款 Jquery控件,当你在文本框中输入逗号时,自动帮你分隔开相关内容

Demo地址:http://webspirited.com/tagit/ 使用方法: 除了JQuery脚本外,下面的脚本也是必须的,这些脚本你都可以去GitHub下载:https://github.com/hailwood/jQuery-Tagit <link href="~/Content/jquery.tagit.css" rel="stylesheet" /><link href="~/Content/tagit.ui-zendes

C# winform 设置进入窗口后在文本框里的默认焦点

进入窗口后默认聚焦到某个文本框,两种方法: ①设置tabindex 把该文本框属性里的tabIndex设为0,焦点就默认在这个文本框里了. ②Winform的Activated事件 在Form的Activated事件中添加textBox1.Focus(), 即可获得焦点. private void Form1_Activated(object sender, EventArgs e) {     textBox1.Focus(); } TextBox是可以获得焦点的. 有几个前提: 1. Tex