2014-01-21 73 views
0

我需要得到一個div內的所有元素,這可能是多個inputscheckboxsradiobuttons等,並轉換idname和它valueJSON可讀格式。從DOM元素在創建JSON了`div`

我試圖使用the following SO question的修改版本,這就造成了以下內容:

var data = $('#item').map(function() { 
    return { 
     content: $(this).val() 
    }; 
}).get(); 

console.log(data); 

<div id="item"> 
    <input class="item" id="test" value="data" /> 
</div> 

但它不返回任何值。

+0

使用'serializeArray()'然後將結果轉換爲對象 –

回答

3

您正在運行您的map訪問div(它不具有值,因爲它不是表單控件),而不是其中的輸入。

您可能想要'#item :input'是您的選擇器。

+0

這一工程!希望它能處理所有內容:) – TheGeekZn

+0

更新:任何想法如何在'select'上工作,我已經使用'.children()'而不是':input' – TheGeekZn

+0

它應該「正常工作」 。 – Quentin

0

這可能會幫助你

 
var map = {}; 

    $("#item").children().each(function (i, element) 
     { 
      map[$(element).attr("id")] = $(element).val(); 
     } 
    );