Pobierz widgetVar z JavaScript lub zaznacz / odznacz wszystkie pozostałe pola wyboru PrimeFaces

Na stronie mam kilka pól wyboru PrimeFaces. Jeśli klikniesz pole wyboru master, wszystkie pozostałe pola wyboru powinny być zaznaczone / odznaczone. Przy zwykłych polach wyboru HTML byłby to łatwy problem. Ale ponieważ PrimeFaces nie wyświetla samego pola wyboru, ale obraz, następujący kod JavaScript nie działa:

<script type="text/javascript">
$(document).ready(function() {
    var masterCheckbox = $(".ui-chkbox.master :checkbox");
    var slaveCheckboxes = $(".ui-chkbox:not(.master) :checkbox");

    updateMaster();
    masterCheckbox.change(updateSlaves);
    slaveCheckboxes.change(updateMaster);

    function updateMaster() {
        var allSlavesChecked = true;
        slaveCheckboxes.each(function() {
            if (!$(this).is(':checked')) {
                allSlavesChecked = false;
            }
        });
        masterCheckbox.attr("checked", allSlavesChecked);
    }

    function updateSlaves() {
        var masterChecked = masterCheckbox.is(":checked");
        slaveCheckboxes.each(function() {
            $(this).attr("checked", masterChecked);
        });
    }
});
</script>

Wiem, że mogę użyć widgetVar PrimeFaces do przełączania pól wyboru, ale nie wiem, jak uzyskać obiekty widgetu PrimeFaces z JavaScript. Myślę, że RichFaces dodaje właściwość component do elementu DOM, ale PrimeFaces tego nie robi. Czy ktoś zna rozwiązanie tego problemu?

questionAnswers(1)

yourAnswerToTheQuestion