2012-06-05 30 views
0

我想在jquery中编写自定义网格,所以看看jQuery插件开发。在其中,我为网格分配标题并希望分配行,但需要帮助将值分配给行。如何从js地图获取密钥和值

var headers=new Array(); 
headers=["Name","Host Name","Description","Type","Last Update Time"]; 

我想创建一个类似下图的地图,它将在我的网格中被分配为行,但需要帮助理解如何分配。与headers类似,这些行可以是通用的。

var myrows = [ 
       {cfgid:0, name:"Lukas Arts",host:"baxton", description:"test",type:"Dev",updateDate:"Thu Apr 26 04:31:10 IST 2012"}, 
       {cfgid:1, name:"Adiga",host:"beetle", description:"test",type:"Dev",updateDate:"Fri Apr 27 07:21:43 IST 2012"}, 
       {cfgid:2, name:"Max Miller",host:"barry", description:"test",type:"Dev",updateDate:"Mon Apr 16 04:11:40 IST 2012"} 
       ]; 

这是代码

jQuery.fn.abcGrid = function (tableid, heading, data, options) { 
    abcoptions = jQuery.extend ({ 
    tableCss: "tableForms", 
    tableHeaderCss: "tableHeading", 
    label: "Informatica CSM", 
    header: heading, 
    rows: data 
    }, options); 

    var ele_table=''; 
    var ele_table_start='<table id="'+abcoptions.tableid+'" class="'+abcoptions.tableCss+'"><tbody>'; 
    var ele_table_end='</tbody></table>'; 
    var ele_table_header=''; 
    var ele_table_row=''; 

    var tempHeader=''; 
    var tempRow=''; 

    /*Table header creation*/ 
    for(var i=0;i<abcoptions.header.length;i++) 
     tempHeader+='<td class="'+abcoptions.tableHeaderCss+'">'+abcoptions.header[i]+'</th>'; 
    ele_table_header='<tr>'+tempHeader+'</tr>'; 

    ele_table=ele_table_start+ele_table_header+ele_table_end; 
    $(this).html(ele_table); 
    //it creates only headers properly 
}; 

我把这个代码

$('#updateDiv').abcGrid("tabel1", headers, myrows); 
+0

当你在下一行用新数组覆盖它时,为什么给'headers'指定一个新的'Array()'?只要做'var header = [“Name”,“Host Name”,“Description”,“Type”,“Last Update Time”];' – Martijn

+0

@Martijn:好的,谢谢 – Ricky

回答

0

要获取地图项的值,你可以这样做:

abcoptions.rows[i].cfgid 

The rows[i]是您的地图 - 你可以把钥匙放在点后面,或者rows[i]['cfgid']

- 编辑:改名为headerrows

+1

“header [i]'是你的地图“我认为你的意思是'myrows' – abi1964