如何从js映射中获取键和值

时间:2012-06-05 08:52:31

标签: javascript jquery

我正在尝试在jquery中编写自定义网格,所以看看jquery插件开发。在其中我为网格分配了标题并想要分配行,但需要帮助为行分配值。

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);

1 个答案:

答案 0 :(得分:0)

要获取地图中项目的值,您可以执行以下操作:

abcoptions.rows[i].cfgid

rows[i]是您的地图 - 您可以将关键点放在点后面,或rows[i]['cfgid']

- 修改:将header重命名为rows