jquery的blur的问题和单独js中判断数字的问题
时间:2009-09-16
来源:互联网
1.页面代码:
<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>
实现了可以实时编辑表单数据,就是在td中加入input标签,
在单独js中通过$(".product td:nth-child(3) input").val()可以获取该数据,我想通过blur来alert失去焦点后写入的数据,请问怎么写代码?
2.在单独js中通过var price = $(".product td:nth-child(3) input").val()可以获取数据,然后写上if(isNaN(price)){alert("单价必须为数字");}就出错了,FF没有报错,原来的样式没有,原来的可以实时编辑的表格也不能编辑,只是在点了页面上的按钮后报错!
<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>
实现了可以实时编辑表单数据,就是在td中加入input标签,
在单独js中通过$(".product td:nth-child(3) input").val()可以获取该数据,我想通过blur来alert失去焦点后写入的数据,请问怎么写代码?
2.在单独js中通过var price = $(".product td:nth-child(3) input").val()可以获取数据,然后写上if(isNaN(price)){alert("单价必须为数字");}就出错了,FF没有报错,原来的样式没有,原来的可以实时编辑的表格也不能编辑,只是在点了页面上的按钮后报错!
[ 此帖被lew在2009-09-18 08:50重新编辑 ]
作者: lew 发布时间: 2009-09-16
恐怕与你实现编辑表单数据的方式有关
是否是失去焦点后就把这个input给删除了?
是否是失去焦点后就把这个input给删除了?
作者: shawphy 发布时间: 2009-09-17
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).blur(function(){
var s = $(this).val();
if(isNaN(s)) {alert("不是数字");$(this).focus()}
else alert(s);
});
inputObj.trigger("focus").trigger("select");
inputObj.click(function(){
return false;
}) ;
});
}
上面的代码可以实现写完数据后检查数据是不是数字,但是我只想验证td中的“单价”和“重量”是不是数字,怎么定位一下!
能不能在实时判断td中的“单价”和“重量”中有数据后直接把二者的值的积写在同行的价格里面!
$("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).blur(function(){
var s = $(this).val();
if(isNaN(s)) {alert("不是数字");$(this).focus()}
else alert(s);
});
inputObj.trigger("focus").trigger("select");
inputObj.click(function(){
return false;
}) ;
});
}
上面的代码可以实现写完数据后检查数据是不是数字,但是我只想验证td中的“单价”和“重量”是不是数字,怎么定位一下!
能不能在实时判断td中的“单价”和“重量”中有数据后直接把二者的值的积写在同行的价格里面!
作者: lew 发布时间: 2009-09-17
已解决!

作者: lew 发布时间: 2009-09-18
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28