Как вызвать в элементах JSF зарегистрированные методы сценариев Java с помощью JQuery?

0

У меня есть некоторые элементы selectBooleanCheckbox на моей странице jsf. Все элементы имеют функцию javaScript, которая привязывается к атрибуту "onchange":

<h:selectBooleanCheckbox value="#{bean.value_1}" onchange="updating(this, '#{textprop.value_1}', '#specific_html_dom_element');"/>

Кроме того, у меня есть функция createt с JQuery, чтобы выбрать все доступные selectBooleanCheckboxes на странице xhtml jsf.

Код JQuery для выбранных флажков:

jQuery('.class_1').find('input[type="checkbox"]').each(function() {         
    jQuery(this).attr("checked","checked").val("1");
}); 

Код JQuery для снятия галочки:

jQuery('.class_1').find('input[type="checkbox"]').each(function() {         
    jQuery(this).attr("checked","").val("0");
}); 

Текущая проблема заключается в том, что метод java-скрипта "обновление" не будет выполнен, если выполняется функция JQuery. Если я выберу или сниму выделение одного selectBooleanCheckbox, будет запущен метод javascript. Метод обновления получает разные значения параметров для каждого флажка.

Как я могу решить эту проблему?

Теги:
jsf

1 ответ

1

onchange только срабатывает, когда пользователь проверяет /onchange флажок.

Вы можете вручную вызвать событие onchange после установки значения:

jQuery('.class_1').find('input[type="checkbox"]').each(function() {         
   jQuery(this).attr("checked","checked").val("1");
   jQuery(this).change();// manual call
});

или вы можете запустить событие, используя:

jQuery('.class_1').find('input[type="checkbox"]').each(function() {         
   jQuery(this).attr("checked","checked").val("1");
   jQuery(this).trigger("change");
});

Надеюсь это поможет.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню