2016-10-27 12 views
1

特定の名前のチェックボックスをすべてオンにして、その行の値を配列に追加する必要があります。私の最後の配列は、このように見ている必要がありますチェックボックスを介してループチェックボックスをループして配列に追加する方法

stmtData = { 
    sections: [ 
     { sectionCode: "AA", sectionName: "AA Test", amount: "33" }, 
     { sectionCode: "BB", sectionName: "BB Test", amount: "55" } 
    ] 
}; 

は簡単な部分です:

var stmtData = []; 
$.each($("input:checkbox[name='sectionElection']:checked"), function() { 
    // create sections array here 

}); 

私はこのようなデータを取得していますが、より良い方法があるかもしれませんか?

stmtData["sectionCode"] = $(this).val(); 
stmtData["sectionName"] = $("#sectionElectionLbl_" + $(this).val()).text(); 
stmtData["amount"] = $("#sectionCost_" + $(this).val()).text(); 

答えて

0

マップの代わりにマップを使用すると、jQueryのビットが錆びますが、何かのように改善できますか?

var stmtData = {} 
stmtData.section = $("input:checkbox[name='sectionElection']:checked") 
.map(function() { 

    var val = $(this).val(); 
    var text = val.text(); 
    return { 
     sectionCode: val, 
     sectionName = $("#sectionElectionLbl_" + text, 
     amount: text 
    } 
}); 
0

わかりました。私は何とかプッシュを使用しなければならないことを知っていましたが、これはわかりました。

var stmtData = []; 
$.each($("input:checkbox[name='sectionElection']:checked"), function() { 
    // create sections array here 
    stmtData.push({ 
     sectionCode: $(this).val(), 
     sectionName: $("#sectionElectionLbl_" + $(this).val()).text(), 
     amount: $("#sectionCost_" + $(this).val()).text() 
    }); 
}); 
関連する問題