页面代码为:
<tbody id="tbody">
<tr>
<th>序号</th>
<th>名称</th>
<th>单价</th>
<th>重量</th>
<th>价格</th>
</tr>
<tr class="product">
<th>1</th>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>页面tbody 有多个tr,在实现了可实时编辑td的值后,在js中怎么取得各个td中的值?
var tr= $("#tbody tr");
var len= tr.length;
//alert(len);
for(var i = 1; i < len; i++){
//var price = $("#price" + i).val();//通过给各个td设置一个id,但是取得各个id的时候怎么表示,这个写法有问题
//var price = tr.eq(i).children().eq(2).val();//这个写法也有问题
var price = tr.eq(i).children("td").eq(1).val();//这个写法也有问题
alert(price);//显示的是空值
}
请高手指点下!
谢谢!
<tbody id="tbody">
<tr>
<th>序号</th>
<th>名称</th>
<th>单价</th>
<th>重量</th>
<th>价格</th>
</tr>
<tr class="product">
<th>1</th>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>页面tbody 有多个tr,在实现了可实时编辑td的值后,在js中怎么取得各个td中的值?
var tr= $("#tbody tr");
var len= tr.length;
//alert(len);
for(var i = 1; i < len; i++){
//var price = $("#price" + i).val();//通过给各个td设置一个id,但是取得各个id的时候怎么表示,这个写法有问题
//var price = tr.eq(i).children().eq(2).val();//这个写法也有问题
var price = tr.eq(i).children("td").eq(1).val();//这个写法也有问题
alert(price);//显示的是空值
}
请高手指点下!
谢谢!
解决方案 »
- 关于【手机】浏览器滚动条是否到达底部的问题
- 各位大哥帮帮忙!jquery draggable 拖动插件的问题.
- 文本框的事件捕捉问题,有劳各位前辈支招
- 动态生成的文本框中有个onchange事件,使用时onchange事件为什么无效?有答案马上结贴!!!
- 请大哥们教我一下 onclick="" 谢谢!
- 如何去掉<span .......></span>之类的字符呀?分不够再加
- javascript不能操作数据库吗?
- iframe的操作??这段代码错在哪呀?
- 我也遇到同样的问题:两个表单怎样分别提交?
- ★★哪里有下载比较好的写Javascript代码的软件,如vb一样方便★★
- 问个简单的正则,居然难道10几个qq群。真郁闷
- 请问rs(0)与rs.getString("xx")的区别?
var tbl=document.getElementById('table id');
for(var i=0;i<tbl.rows.length;i++)
{
for(var j=0;i<tbl.rows[i].cells.length;j++)
{
alert(tbl.rows[i].cells[j].innerHTML);
}
}
<script src="js/jquery-1.3.2.js" type="text/javascript"> </script>
<script type="text/javascript">
window.onload=function(){
$(".product td:nth-child(4)").each(function(){
alert($(this).html())
})
}
</script>
<table>
<tbody id="tbody">
<tr>
<th>序号 </th>
<th>名称 </th>
<th>单价 </th>
<th>重量 </th>
<th>价格 </th>
</tr>
<tr class="product">
<th>1</th>
<td>xxx</td>
<td>1.2</td>
<td>1.3</td>
<td>1.4</td>
</tr>
<tr class="product">
<th>2</th>
<td>xxx</td>
<td>2.2</td>
<td>2.3</td>
<td>2.4</td>
</tr>
</tbody>
</table>
alert($(this).html());
});
alert($(this).html());
})
试试看,
$("tbody td").click(function(){
var obj = $(this);
if(obj.children("input").length > 0){
return false;
}
var text = obj.html();
obj.html("");
var inputObj = $("<input type='text'>").css("border-width","0").css("font-size","16px")
.width(obj.width()).css("background-color",obj.css("background-color")).css("text-align","center")
.val(text).appendTo(obj);
inputObj.trigger("focus").trigger("select");
inputObj.click(function(){
return false;
}) ;
});
按照2楼的直接写在页面上并把数据写入td中是可以直接alert出数据来的,但是单独写在一个js文件里面却是alert一个html的<input>的样式。
中的红色部分应该改为j,给table写了个id,但是代码放在页面没有反应。
<script src="js/jquery-1.3.2.js" type="text/javascript"> </script>
<script type="text/javascript">
window.onload=function(){
$("tbody td").click(function(){
var obj = $(this);
if(obj.children("input").length > 0){
return false;
}
var text = obj.html();
obj.html("");
var inputObj = $("<input type='text'>").css("border-width","0").css("font-size","16px")
.width(obj.width()).css("background-color",obj.css("background-color")).css("text-align","center")
.val(text).appendTo(obj);
inputObj.trigger("focus").trigger("select");
inputObj.click(function(){
return false;
}) ;
});}
function doit(){
$(".product td:nth-child(5) input").each(function(){
alert($(this).val())
})
}
</script>
<input type="button" onclick="doit();" value="click">
<table>
<tbody id="tbody">
<tr>
<th>序号 </th>
<th>名称 </th>
<th>单价 </th>
<th>重量 </th>
<th>价格 </th>
</tr>
<tr class="product">
<td>1</td>
<td>xxx</td>
<td>1.2</td>
<td>1.3</td>
<td>1.4</td>
</tr>
<tr class="product">
<td>2</td>
<td>xxx</td>
<td>2.2</td>
<td>2.3</td>
<td>2.4</td>
</tr>
</tbody>
</table>