2011-07-14 53 views
1

被放置在一個對象內,我要做出我處理信息的關聯數組如何訪問對象的孩子。我有以下代碼:當物體在jQuery的

var controls = {}; 
$('#userForm').find('div.control').each(function(index, Element) 
{ 
    if($(Element).find('input').attr('type') == "checkbox") 
    { 
     var attributes = {}; // Object 
     attributes["type"] = "checkbox"; 
     attributes["name"] = $(Element).find('.controlText').text().toLowerCase().split(" ").join("_")+"_"+$(Element).find('input').attr("id"); 
     attributes["required"] = $(Element).find('input').hasClass('required'); 
     controls[index] = attributes; 
     $(controls[index]).children().each(function(){ 
      // How do i check the controls object each value 
      alert($(this)); 

      }); 
    } 
}); 

我想使這將分別包含在這樣一個索引每一個輸入的屬性控制陣列;

 
controls 
    [0] => 
     [type] = checkbox 
     [name] = chk_box_1 
     [required] = true 
    [1] => 
     [type] = checkbox 
     [name] = chk_box_2 
     [required] = false 

...等等。

我怎麼能填充控件數組,然後看到JavaScript中的元素,並將它們傳遞給PHP和打印陣列呢?

回答

3

使它對象的數組。

var controls = []; 
$('#userForm').find('div.control').each(function (index, elm) { 
    if ($(elm).find('input').attr('type') == "checkbox") { 
     var attributes = {}; // Object 
     attributes["type"] = "checkbox"; 
     attributes["name"] = $(elm).find('.controlText').text().toLowerCase().split(" ").join("_") + "_" + $(elm).find('input').attr("id"); 
     attributes["required"] = $(elm).find('input').hasClass('required'); 
     controls.push(attributes); 
    } 
}); 

現在就像這樣訪問它。

for(var i = 0; i < controls.length; i++){ 
    //alert(controls[i].name); 
}