对字符串进行编辑···在textfield输入 1的时候··失去焦点后更新为 01.00···1.5更新为01.50···输入的数值部超过24··

解决方案 »

  1.   

    触发onblur事件,过去文本框的value进行修改
    至于 输入的数值部超过24 主要对文本框的size设置长一点就行
      

  2.   


    function format(arg){
                var tmp,result = '';
                if(typeof arg !== 'undefined' && typeof parseFloat(arg) === 'number' && parseFloat(arg).toString() !== 'NaN'){
                    if(parseFloat(arg) >= 24)
                        return "24.00";
                    arg = parseInt(arg*100) / 100;
                    tmp = arg.toString().split('.');
                    if(tmp.length === 1){
                        if(tmp[0].length === 1){
                            tmp[0] = "0" + tmp[0];
                        }
                        return tmp[0] + '.00';
                    }
                    else{
                        if(tmp[0].length === 1){
                            result += "0" + tmp[0] + '.';
                        }else{
                            result += tmp[0] + ".";
                        }
                        if(tmp[1].length === 1){
                            result += tmp[1] + '0';
                        }else{
                            result += tmp[1];
                        }
                        return result;
                    }
                }
                return '';
            }
    $("input[type='text']").blur(function(){
    $(this).val(format($(this).val()));
    })
      

  3.   

    对字符你可以这样处理比如说 var v=1.5 
    var v_0;
    var v_1;
    var arr[]=v.spilt(".");
    if(arr[0].length==1)v_0="0"+arr[0]; 比较字符长度
    if(arr[1].length==1)v_1=arr[1]+"0"; 比较字符长度
    懂了没有 其他的就是你加条件
      

  4.   

    那么arr[0]=1,符合中国条件,我就需要在1的前面加0  
      

  5.   

    不是中国条件,是这个条件if(arr[0].length==1)v_0="0"+arr[0]; 比较字符长度//v=1.5  
      

  6.   

    <html>
    <head>
    <title>jquery test
    </title>
     <meta http-equiv="content-type" content="text/html; charset=UTF-8" /><script type="text/javascript">
      function formatData(){
    var v=document.getElementById("shuru").value;
    var v_0;
    var v_1;

    var arr=v.split("."); if(arr[0].length==1)v_0="0"+arr[0]; 
    if(arr[1].length==1)v_1=arr[1]+"0";
    document.getElementById("shuchu").value=v_0+"."+v_1;
      }
    </script></head>
    <body>
    <table>
        <tr><td>输入:</td><td><input type="text" name="shuru" id="shuru" onblur="formatData()"/></td></tr>
    <tr><td>输出:</td><td><input type="text" name="shuchu" id="shuchu"/></td></tr>

    </table>
    </body></html>刚刚帮你写的 我试了 你只要复制就行
      

  7.   

    谢谢你了··var v_0;
    var v_1; 分别是什么东西?
      

  8.   

    一个变量啊 我现在是用js脚本语言 帮你写的,你只要创建一个html 把上面的全部复制 进去就行了  这个你懂不?
      

  9.   

    下面那个··判断我没有看懂···
    var arr=v.split(".");
    if(arr[0].length==1)v_0="0"+arr[0]; 
    if(arr[1].length==1)v_1=arr[1]+"0";
      

  10.   

    var arr=v.split(".");//这个是把你输入的字符根据小数点来切割成为一个数组
    if(arr[0].length==1)v_0="0"+arr[0]; //arr[0]是小数点前面的数,如果它只有一位你就需要在前面加0
    if(arr[1].length==1)v_1=arr[1]+"0";//arr[1]是小数点后面的数,如果它只有一位你就需要在后面加0
      

  11.   

    额···我看到了···我以前不知道spilt方法···谢了··
      

  12.   

    建议楼主 看点基础的东西  split 这个方法你以后用得比较多