2012-06-05 32 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