+ -
当前位置:首页 → 问答吧 → jquery的blur的问题和单独js中判断数字的问题

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没有报错,原来的样式没有,原来的可以实时编辑的表格也不能编辑,只是在点了页面上的按钮后报错!
[ 此帖被lew在2009-09-18 08:50重新编辑 ]

作者: lew   发布时间: 2009-09-16

恐怕与你实现编辑表单数据的方式有关

是否是失去焦点后就把这个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中的“单价”和“重量”中有数据后直接把二者的值的积写在同行的价格里面!

作者: lew   发布时间: 2009-09-17

已解决!

作者: lew   发布时间: 2009-09-18

相关阅读 更多