我有一张表,300多行,有3列,分别是学号,姓名,年龄,我想在页面中写死,当第一个input框中输入学号的时候,会在另外两个input框中直接显示姓名和年龄。js中该怎么实现啊?

解决方案 »

  1.   

    js+ajax 或者是 Jquery + ajax
      

  2.   

    <!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 type="text/javascript">
    var student = [{'id':'001','name':'张三','age':'15'},{'id':'002','name':'李四','age':'16'}];
    function fun() {
    var t1 = document.getElementById('t1').value;
    var t2 = document.getElementById('t2');
    var t3 = document.getElementById('t3');
    for (x in student) {
    if (student[x].id == t1) {
    t2.value = student[x].name;
    t3.value = student[x].age;
    }
    }
    }
    </script>
    </head><body>
    <input type="text" id="t1" onblur="fun()" /><input type="text" id="t2" /><input type="text" id="t3" />
    </body>
    </html>
      

  3.   

    我本来想写成数据库表来着,但是时间太紧,就写成if(){}else if(){}判断,这种最弱智的方法了。现在系统里有dwr的配置,我准备在另一个不是很着急用的页面里尝试一下。谢谢楼上各位。另to T5500:<script type="text/javascript">
    var student = [{'id':'001','name':'张三','age':'15'},{'id':'002','name':'李四','age':'16'}];
    ……
    这么用,如果数组人数很多的时候,现在超过200人了,是不是js就不支持了?我印象中,好像js数组有个顶峰值存在?不知道两者是不是同一个概念?
      

  4.   

    4楼代码使用的是json数组。
    js数组也没有长度限制。。(要说有的话,就是索引值上届不能超过正整数表达范围,约40亿个元素)
      

  5.   

    如果时间紧的话,把数据放EXCEL里当数据库用也可以。做个后台页面连库查询,然后前台输入学号后用AJAX送到这个后台页面取值返回给前台当然,直接写在客户端的JSON里也未尝不可,只是,这个工作量和EXCEL比更大,且编辑时容易出错。好处是调用方便
      

  6.   


    <!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=gb2312" />
    <title>无标题文档</title>
    <script type="text/javascript">var Student = {
    '001' : {'id':'001','name':'张三','age':'15'},
    '002' : {'id':'002','name':'李四','age':'16'},
    '003' : {'id':'003','name':'王五','age':'17'}
    };function fun() {
        var t1 = document.getElementById('t1').value;
        var t2 = document.getElementById('t2');
        var t3 = document.getElementById('t3');
        
    if(!Student[t1]) return; t2.value = Student[t1].name;
    t3.value = Student[t1].age;
    }
    </script>
    </head><body>
    <input type="text" id="t1" onblur="fun()" /><input type="text" id="t2" /><input type="text" id="t3" />
    </body>
    </html>修改自4楼的代码,个人觉得直接用json对象嵌套效率会高一点。
      

  7.   

    对json还不太熟悉,貌似改成下面这样也是可以的,编辑的时候不容易出错。
    <script type="text/javascript">
    var Student = {
        1    :    {name:'张三', age:15},
        2    :    {name:'李四', age:16},
        3    :    {name:'王五', age:17}
    };
    function fun() {
        var t1 = document.getElementById('t1').value;
        var t2 = document.getElementById('t2');
        var t3 = document.getElementById('t3');
        if(!Student[t1]) return;
        t2.value = Student[t1].name;
        t3.value = Student[t1].age;
    }
    </script>
      

  8.   

    使用jquery 
    <!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>
        <title>Jquery表格</title>
     
      <script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
     <script type="text/javascript">
    var student = [{'id':'001','name':'张三','age':'15'},{'id':'002','name':'李四','age':'16'}];
    function fun(obj) {
    var sss = 1;
        var s = $(obj).attr('value');
    for(x in student){
    if(student[x].id == s){
    sss  = 0;
    $(obj).next().attr('value',student[x].name);
    $(obj).next().next().attr('value',student[x].age);
    }
    }

    if(sss == 1){
    $(obj).next().attr('value','');
    $(obj).next().next().attr('value','');
    }
    }
    </script>
    </head><body>
    <input type="text" id="t1" onblur="fun(this)" /><input type="text" id="t2" /><input type="text" id="t3" />
    <br/>
    <input type="text" id="t4" onblur="fun(this)" /><input type="text" id="t5" /><input type="text" id="t6" />
    </body>
    </html>