Bom dia.
Não sei por qual motivo um link clicavel para selecionar todos e deselcionar todos não funciona, de diversas formas.
A pagina em si é feita em JSP e JSTL e, não sei se influencia, também estou usando o prettyPhoto, que está em include no header.
[code]
<%@page pageEncoding=“UTF-8” language=“java”%>
<%@taglib uri=“http://java.sun.com/jsp/jstl/core” prefix=“c”%>
<div id="agrupadas">
Agrupadas
<c:forEach var="agrupadas" items="${mostraAgrupadas}">
<a href="#" onclick="$('#informacoes').load('Info.do?agrupadas=${agrupadas.Agrupada}');" >
${agrupadas.Agrupada}</a>
<input type="checkbox" class="seraoDesagrupadas" name="seraoDesagrupadas" value="${agrupadas.Agrupada}">
</c:forEach>
<a href="#" id="selecionarTodos">Selecionar todos.</a>
</div>
<div id="informacoes">
</div>
<a href="agrupamento.do" name="Cancelar" type="button" class="botao" id="Cancelar">Cancelar</a>
<input class="botao" type="submit" value="Confirmar">
[/code]
O JQuery em si, eis alguns que usei.
Este aqui funciona em partes, o texto ele troca mesmo, mas os checkboxes não.
<script type="text/javascript">
$("#selecionarTodos").click(function(){
if ($("input[type='checkbox']").prop("checked")) {
$(':checkbox').prop('checked', '');
$(this).text('Selecionar todos');
} else {
$(':checkbox').prop('checked', 'checked');
$(this).text('Deselecionar todos');
}
});
</script>
Já tentei colocando o ‘checked’ em vez do true e não foi, neste abaixo.
$('#selecionarTodos').click(function(){
$('input[name=seraoDesagrupadas]').each(function(){
$(this).prop('checked', true);
});
Pensei que pudesse ser o prettyPhoto atrapalhando, mas não era porque este também não deu certo.
Tentei usar o checado do checkbox como clicked.
$.noConflict();
jQuery(document).ready(function($) {
$('#agrupadora').click(function() {
if(this.checked == true){
$("input[type=checkbox]").each(function() {
this.checked = true;
});
} else {
$("input[type=checkbox]").each(function() {
this.checked = false;
});
}
});
});
Agradeceria se pudessem me dar uma solução para isto.
edit: versões do jquery, que são carregados no header, jquery 1.10.0 e o jquery migrate 1.2.1.