Nested Multifield Loop not getting executed
I have a dialog where there is nested multifield. In the nested multifield, there's dropdown.
-----
Details of the dialog:
Multifield
Container (name = Parent)
Multifield
Container (name = Child)
dropdown (class = cq-dialog-dropdown-showhide-multi)
------
Javascript code for looping :
(function ($, document, ns) {
const A = function () {
console.log("In A");
$(this).find("[data-granite-coral-multifield-name='./Child'] .coral3-Multifield-item").each(function( index ) {
console.log("In Loop");
})
};
$(document).on("change", ".cq-dialog-dropdown-showhide-multi", function() {
A();
});
$(document).on("dialog-ready", function() {
A();
});
})(Granite.$, document, Granite.author);
-------
Function A gets called once the dialog content has loaded (on opening the dialog).
Function A gets called when there is a change in dropdown value.
-------
Suppose if my parent multifield has 1 item and its child multifield has 2 items:
Func A gets called when the dialog is opened and "In A In Loop In Loop" gets printed in console. Now if I change the dropdown value, "In A" gets printed in console. The loop doesn't get executed even though the number of child items are still the same.
Not sure what exactly may be the issue. Please advice.