В JSF Как я могу понять несколько флажков, все ли они отмечены или нет? - PullRequest
2 голосов
/ 26 мая 2010

Как вы понимаете из названия выше, у меня есть дата и флажки в каждой строке.

Я хочу включить кнопку, когда установлен хотя бы один флажок, и отключить ее, если флажки не установлены (я имею в виду, что все они не выбраны). Я мог бы добиться этого, как будто если один из флажков выбран, кнопка становится активной. Однако, обратимый случай, который я должен сделать, это когда флажки не установлены, когда последний выбранный флажок становится невыбранным, кнопка немедленно должна быть отключена ...

Кстати, я должен сделать это без использования метода сеттера или вспомогательного компонента. Могу ли я выполнить это с помощью jquery или jsfunction, richfaces и т. Д.?

В результате я хочу узнать, как можно отключить кнопку в тот момент, когда все флажки сняты?

Чтобы прояснить ситуацию, вот мой код ниже;

<h:selectBooleanCheckbox id="selectionCheck" 
    onclick="document.getElementById('form1:button1').disabled=false" 
    value="#{_apiV2Product.selectValue}" > 
</h:selectBooleanCheckbox>

Любая помощь будет оценена, Большое спасибо, Барис

1 Ответ

2 голосов
/ 26 мая 2010

Вы можете сделать это с помощью следующего фрагмента jQuery:

$('[id$=selectionCheck]').click(function() {
    $('[id$=button1]').attr('disabled', $('[id$=selectionCheck]:checked').length == 0);
});

Это назначает функцию onclick каждому флажку, который отключает кнопку, когда ни один флажок не установлен.

Селектор [id$=xxx] выбирает элементы с идентификатором клиента , заканчивающиеся с заданным значением. Это может быть полезно в JSF / RichFaces, так как оно добавляет идентификаторы клиента к идентификаторам родительских UINamingContainer компонентов (например, h:form, h:dataTable, f:subview и т. Д.).

...