I run numerous .each() loops inside one another like so:
var my_array = [];
$(".btn-submit").click(function(e) {
e.preventDefault();
$(".tab-pane").each(function() {
// add .tab-pane IDs to my_array
$(this).find(".connected").each(function() {
// add .connected IDs to tab-pane array
$(this).find(".ui-state-default").each(function() {
// add .ui-state-default IDs to connected array
});
});
});
$("input[name=my_array").val() = my_array;
$(this).closest("form").submit();
});
Within every .each(), I would like to add the ID of elements to my_array, ending up with arrays nested inside arrays nested inside arrays, and leaving me with one final variable, nested like so:
Pseudo Code
my_array (
tab_pane (
connected (
ui-state-default
ui-state-default
ui-state-default
)
connected (
ui-state-default
ui-state-default
ui-state-default
)
connected (
ui-state-default
ui-state-default
ui-state-default
)
)
tab_pane (
connected (
ui-state-default
ui-state-default
ui-state-default
)
connected (
ui-state-default
ui-state-default
ui-state-default
)
connected (
ui-state-default
ui-state-default
ui-state-default
)
)
tab_pane (
connected (
ui-state-default
ui-state-default
ui-state-default
)
connected (
ui-state-default
ui-state-default
ui-state-default
)
connected (
ui-state-default
ui-state-default
ui-state-default
)
)
)
How can I go about this?
A further, basic example to maybe clarify things.
Consider the following page structure.
<div class="tab-pane" id="A">
<ul class="connected" id="1">
<li class="ui-state-default" id="101"></li>
<li class="ui-state-default" id="102"></li>
<li class="ui-state-default" id="103"></li>
</ul>
<ul class="connected" id="2">
<li class="ui-state-default" id="104"></li>
<li class="ui-state-default" id="105"></li>
<li class="ui-state-default" id="106"></li>
</ul>
<ul class="connected" id="3">
<li class="ui-state-default" id="107"></li>
<li class="ui-state-default" id="108"></li>
<li class="ui-state-default" id="109"></li>
</ul>
</div>
<div class="tab-pane" id="B">
<ul class="connected" id="4">
<li class="ui-state-default" id="110"></li>
<li class="ui-state-default" id="111"></li>
<li class="ui-state-default" id="112"></li>
</ul>
<ul class="connected" id="5">
<li class="ui-state-default" id="113"></li>
<li class="ui-state-default" id="114"></li>
<li class="ui-state-default" id="115"></li>
</ul>
<ul class="connected" id="6">
<li class="ui-state-default" id="116"></li>
<li class="ui-state-default" id="117"></li>
<li class="ui-state-default" id="118"></li>
</ul>
</div>
<div class="tab-pane" id="C">
<ul class="connected" id="7">
<li class="ui-state-default" id="119"></li>
<li class="ui-state-default" id="120"></li>
<li class="ui-state-default" id="121"></li>
</ul>
<ul class="connected" id="8">
<li class="ui-state-default" id="122"></li>
<li class="ui-state-default" id="123"></li>
<li class="ui-state-default" id="124"></li>
</ul>
<ul class="connected" id="9">
<li class="ui-state-default" id="125"></li>
<li class="ui-state-default" id="126"></li>
<li class="ui-state-default" id="127"></li>
</ul>
</div>
I need to create an array that looks like so, when I submit the form, so I can POST it through via a hidden input:
my_array = array(
"#A" => array(
"#1" => array (
"#101", "#102", "#103"
)
"#2" => array(
"#104", "#105", "#106"
)
"#3" => array(
"#107", "#108", "#109"
)
)
"#B" => array (
...
)
)
B? it should be4=> array(...),5=>array()...or somthing else?Bwill follow exactly the same nesting structure asA, etc.