function userupdate(index){
         $("#name").attr({'value':'${userlist[0].name}'});
}如上:这样写是没问题的,当我改变为:
function userupdate(index){
         $("#name").attr({'value':'${userlist[index].name}'});
}
js就错了
谁能告诉我内因和其原理?el表达式

解决方案 »

  1.   

    调用userupdate方法时,userupdate(0)传整数,而不是字符串的吧
      

  2.   

    function userupdate(index){
              $("#name").attr({'value':'${userlist['+index+'].name}'});
     }
    引号 没加的原因吧。
      

  3.   

    EL的语法:
    ${  bean.name } 或  ${  bean['name'] }
      

  4.   

    顶2L……目前传的index不会被解析为整数的
      

  5.   


    function userupdate(index){
              $("#name").attr({'value':'${userlist[' + index + '].name}'});
     }
    要加引号,不然是不行的
      

  6.   

    function userupdate(index){
              $("#name").attr({'value':'${userlist[' + index * 1 + '].name}'});
     }
    试试
      

  7.   

    el运行在服务器,js运行在客户端
    你把js变量用在el表达式中,显然是行不通的
      

  8.   

    顶2L……目前传的index不会被解析为整数的
      

  9.   

    2楼正解 不然index是不会被解析的,只会当成index字符串            
      

  10.   

    谁说传过去的数值是字符类型的,js是弱数据类型他会自动做数值间的转换。 首先不建议在js中直接调用el表达式的语法,value最好用这样的语法,$("#name").val(name),当然你的也没错。$("#name").attr({'value':'${userlist[' + index + '].name}'});这个用法应该会有结果的。建议你赋值前 先alert下 index的值。
      

  11.   

    7楼正解。。测试后,function userupdate(index){
              $("#name").attr({'value':'${userlist[' + index + '].name}'});
     }
    ,,,不行