<html>
<head>
<script type="text/javascript" src="/jquery/jquery.js"></script>
</head>
<body>
<table >
  <tr>
    <td>
      <input type="text" name="ID" id="ID" />
   </td>
    <td>
      <input type="text" name="rnd" id="rnd" />
    </td>
  </tr>
   <tr>
    <td>
      <input type="text" name="ID" id="ID" />
   </td>
    <td>
      <input type="text" name="rnd" id="rnd" />
    </td>
  </tr>
    <tr>
    <td>
      <input type="text" name="ID" id="ID" />
   </td>
    <td>
      <input type="text" name="rnd" id="rnd" />
    </td>
  </tr>
</table>
<script>
function f(){
if(!this.value)return;
var d=new Date();
d=''+d.getFullYear()%100+(d.getMonth()+1)+d.getDate();
$(this).parents('tr').find('input[name=rnd]').val("X"+d+Math.random().toString().substring(2,6));
}
$('input[name=ID]').blur(f).keydown(function(e){if(e.keyCode==13)f.call(this)})
</script>
</body>
</html>

解决方案 »

  1.   

    <html>
    <head>
    <script type="text/javascript" src="/jquery/jquery.js"></script>
    </head>
    <body>
    <table >
      <tr>
        <td>
          <input type="text" name="ID" id="ID" />
       </td>
        <td>
          <input type="text" name="rnd" id="rnd" />
        </td>
      </tr>
       <tr>
        <td>
          <input type="text" name="ID" id="ID" />
       </td>
        <td>
          <input type="text" name="rnd" id="rnd" />
        </td>
      </tr>
        <tr>
        <td>
          <input type="text" name="ID" id="ID" />
       </td>
        <td>
          <input type="text" name="rnd" id="rnd" />
        </td>
      </tr>
    </table>
    <script>
    function f(){
    if(!this.value)return;
    var d=new Date();
    var y=d.getFullYear()%100;
    var m=(d.getMonth()+1);
    if(m<10)m="0"+m;
    d=d.getDate();
    if(d<10)d="0"+d;
    d=''+y+m+d;
    $(this).parents('tr').find('input[name=rnd]').val("X"+d+Math.random().toString().substring(2,6));
    }
    $('input[name=ID]').blur(f).keydown(function(e){if(e.keyCode==13)f.call(this)})
    </script>
    </body>
    </html>
      

  2.   

    感谢,测试发现一个小问题,在ID文本框中输入一个数字回车,在RND中产生了随机数,在ID文本框失去焦点时,产生的随机数又变了,等于是赋值了2次。能不能无论是回车,还是失去焦点,获得了随机数后,就不变了。
      

  3.   

    <html>
    <head>
    <script type="text/javascript" src="/jquery/jquery.js"></script>
    </head>
    <body>
    <table >
      <tr>
        <td>
          <input type="text" name="ID" id="ID" />
       </td>
        <td>
          <input type="text" name="rnd" id="rnd" />
        </td>
      </tr>
       <tr>
        <td>
          <input type="text" name="ID" id="ID" />
       </td>
        <td>
          <input type="text" name="rnd" id="rnd" />
        </td>
      </tr>
        <tr>
        <td>
          <input type="text" name="ID" id="ID" />
       </td>
        <td>
          <input type="text" name="rnd" id="rnd" />
        </td>
      </tr>
    </table>
    <script>
    function f(){
    if(!this.value)return;
    var d=new Date();
    var y=d.getFullYear()%100;
    var m=(d.getMonth()+1);
    if(m<10)m="0"+m;
    d=d.getDate();
    if(d<10)d="0"+d;
    d=''+y+m+d;
    var t=$(this).parents('tr').find('input[name=rnd]');
    if(!t.val())t.val("X"+d+Math.random().toString().substring(2,6));
    }
    $('input[name=ID]').blur(f).keydown(function(e){if(e.keyCode==13)f.call(this)})
    </script>
    </body>
    </html>
    加个判断
      

  4.   

    当失去焦点是调用onblur()事件
    $("table td").each(function(){
            $(this).blur(function(){
                 $(this).val("随机数");
             });
    });
    产生随机数的方法:
    var i=Math.round(Math.random());
    依次产生四个随机数,并与x和日期相加组成一个字符串,添加到blur事件中就可以了
      

  5.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <script src="jquery-1.8.3.min.js"></script>
    <script>
    $(function(){
    $("input").blur(function(e) {
    if(!$(this).parent().index()%2)
    $(this).parent().siblings("td").find("input").val(getNum());
    });
    })
    function getNum(){
    var timestr;
    var day=new Date();
    timestr=(day.getFullYear()+'').substr(2);
    timestr+=(day.getMonth()+1<10 ? '0'+(day.getMonth()+1) : day.getMonth()+1)+'';
    timestr+=(day.getDate()<10 ? '0'+day.getDate() : day.getDate())+'';
    timestr+=Math.floor(Math.random()*10)+''+Math.floor(Math.random()*10)+''+Math.floor(Math.random()*10)+''+Math.floor(Math.random()*10);
    return timestr; 
    }
    </script>
    </head>
    <body>
    <table >
       <tr>
         <td>
           <input type="text" name="ID" id="ID" />
        </td>
         <td>
           <input type="text" name="rnd" id="rnd" />
         </td>
       </tr>
        <tr>
         <td>
           <input type="text" name="ID" id="ID" />
        </td>
         <td>
           <input type="text" name="rnd" id="rnd" />
         </td>
       </tr>
         <tr>
         <td>
           <input type="text" name="ID" id="ID" />
        </td>
         <td>
           <input type="text" name="rnd" id="rnd" />
         </td>
       </tr>
     </table>
     
    </body>
    </html>