function text(dataTableId,idField){
var rows = $('#'+dataTableId).datagrid('getSelections');  //这里是获得一个JSON集合
alert(rows[i].UserID);
}我想把这个方法写成一个公用方法,要获得这个JSON集合的哪个字段是我自己传值传过去的,而不是在程序里写死:
function text(dataTableId,idField){
var rows = $('#'+dataTableId).datagrid('getSelections');  //这里是获得一个JSON集合
alert(rows[i].idField);
}
如果上面这么写,我给idField传个"UserID",alert(rows[i].idField)这里就是不对的。我应该怎么写呢?

解决方案 »

  1.   

    公用方法不是这么写的
    还有,调试js至少你 要学会用firebug或者其他工具只要你进行一个 单步,就知道自己问题在哪儿了
      

  2.   


    function text(dataTableId,idField){
    var rows = $('#'+dataTableId).datagrid('getSelections'); //这里是获得一个JSON集合
    alert(rows[i].idField);
    }
    idField是一个变量名,而不能作为属性!!
    function text(dataTableId,idField){
    var rows = $('#'+dataTableId).datagrid('getSelections'); //这里是获得一个JSON集合
    for (_temp in rows ){
        if(_temp == idField){
          alert(rows[_temp]);
        }
      }
    }
      

  3.   

    我只是提供一个思路,你这里还涉及到json的数组,有一个下标 i ,刚刚给的function是有问题,只是告诉你你的问题就在于,变量名,是不能作为属性值的。
    思路上是有 问题的。
      

  4.   

    alert(rows[i][idField])这样就OK了!