我想实现点击表格中的title字段,可对其进行修改。通过鼠标失去焦点。可是现在拿不到数据的id,只能拿到文本,请问如何拿到id,我现在只能取到表格的第一条数据,分页是10条
<script>
$(function(){
//找到所有的td节点
var tds=$("td");
//给所有的td添加点击事件
tds.click(function(){
//获得当前点击的对象
var td=$(this);
//取出当前td的文本内容保存起来
var oldText=td.text();
//建立一个文本框,设置文本框的值为保存的值
var input=$("<input type='text' value='"+oldText+"'/>");
td.html(input);
//////////////////////////
//设置文本框的点击事件失效
input.click(function(){
return false;
});
//设置文本框的样式
input.css("border-width","1");
input.css("font-size","16px");
input.css("text-align","center");
//设置文本框宽度等于td的宽度
input.width(td.width());
//当文本框得到焦点时触发全选事件
input.trigger("focus").trigger("select");
//当文本框失去焦点时重新变为文本
input.blur(function(){
var input_blur=$(this);
//保存当前文本框的内容
var newText=input_blur.val();
td.html(newText);
// alert($("#names").val());
var tt = $("#names").val();
// $.post('titles.do?id=$("#names").val()',{title:newText});
//});
$.post('titles.do',{title:newText,id:tt}); });
//响应键盘事件
input.keyup(function(event){
// 获取键值
var keyEvent=event || window.event;
var key=keyEvent.keyCode;
//获得当前对象
var input_blur=$(this);
switch(key)
{
case 13://按下回车键,保存当前文本框的内容
var newText=input_blur.val();
td.html(newText);
// $.post('titles.do',{title:newText});
break;
case 27://按下esc键,取消修改,把文本框变成文本
td.html(oldText);
break;
}
});
});
});
</script>
<table border="1" align="center">
<c:forEach><tr><td></td></tr>
</table>
<script>
$(function(){
//找到所有的td节点
var tds=$("td");
//给所有的td添加点击事件
tds.click(function(){
//获得当前点击的对象
var td=$(this);
//取出当前td的文本内容保存起来
var oldText=td.text();
//建立一个文本框,设置文本框的值为保存的值
var input=$("<input type='text' value='"+oldText+"'/>");
td.html(input);
//////////////////////////
//设置文本框的点击事件失效
input.click(function(){
return false;
});
//设置文本框的样式
input.css("border-width","1");
input.css("font-size","16px");
input.css("text-align","center");
//设置文本框宽度等于td的宽度
input.width(td.width());
//当文本框得到焦点时触发全选事件
input.trigger("focus").trigger("select");
//当文本框失去焦点时重新变为文本
input.blur(function(){
var input_blur=$(this);
//保存当前文本框的内容
var newText=input_blur.val();
td.html(newText);
// alert($("#names").val());
var tt = $("#names").val();
// $.post('titles.do?id=$("#names").val()',{title:newText});
//});
$.post('titles.do',{title:newText,id:tt}); });
//响应键盘事件
input.keyup(function(event){
// 获取键值
var keyEvent=event || window.event;
var key=keyEvent.keyCode;
//获得当前对象
var input_blur=$(this);
switch(key)
{
case 13://按下回车键,保存当前文本框的内容
var newText=input_blur.val();
td.html(newText);
// $.post('titles.do',{title:newText});
break;
case 27://按下esc键,取消修改,把文本框变成文本
td.html(oldText);
break;
}
});
});
});
</script>
<table border="1" align="center">
<c:forEach><tr><td></td></tr>
</table>
解决方案 »
- 【求助】JS倒计时
- 求助——当html语言放在javascript语句中如何改写,单引号和双引号所引起的问题
- CNLTreeMenu 代码分析
- 文本框需要输入数字,当输入非数字时文本框自动保留输入前的值,怎么做简单?
- 求教: 请问我现在有个值. 现在需要通过JAVASCRIPT实现RadioButtonList的选定
- 怎么显示一个层,在屏幕的右上角不动。waitting online
- 求教
- 帮帮忙吧! 关于正用表达式拆分字符串. ...等待中...
- 在非IE浏览器下得到焦点选择文本后,又丢失选择,请问如何解决
- request.getParameterValues()取不到值
- 关于层的问题? 有点急!
- 高手请指点,小弟不胜感激
这个好象就是你说的id那有没有id为names控件呢?
问题不清晰! var tt = $("#names").val();//注意一个页面不能重复出现相同的id,可以有相同的name或其他属性。建议用name
// $.post('titles.do?id=$("#names").val()',{title:newText});
//});
<c:forEach items="${topicfylist}" var="m">
<span class="title" id="title" onclick="" aa="${m.id}">${m.title}</span>
</c:forEach>