Ir para o conteúdo

Utilidades Para Forms


Criado por Rick =), Dez 11 2010 21:20

3 respostas neste tópico
  • Por favor, faça o login para responder

#1 Rick =)

Rick =)
  • Rick =)
  • Colaborador
  • 16 Revisões

Revisou 11 dezembro 2010 - 21:20

Boas, galera!

Aqui vão alguns métodos com respeito a formulários que faltam à jQuery:
/**
 * Autor: Henrique J. P. Barcelos
 * Data: 02/02/2010
 * Versão: 1.0a
 * 
 * Este código está distribuí­do sob as condições da licensa Creative Commons.
 * Isso significa que você é livre para editar este código,
 * desde que cite a fonte original.
 * 
 * Visite http://creativecommons.org/ para mais detalhes
 * 
 * E-mail: rick.hjpbarcelos@gmail.com
 * Twitter: @rickhjpbarcelos
 */

(function($){
	$.fn.check = function(){
		var type = $(this).attr("type");
		if (type == "checkbox" || type == "radio") {
			$(this).attr('checked', 'checked');
		}
		return $(this);
	}
	
	$.fn.uncheck = function(elem){
		var type = $(this).attr("type");
		if (type == "checkbox" || type == "radio") {
			$(this).removeAttr('checked');
		}
		return $(this);
	}
	
	$.fn.disable = function(){
		$(this).attr('disabled', 'disabled');
		return $(this);
	}
	
	$.fn.enable = function(){
		$(this).removeAttr('disabled');
		return $(this);
	}
	
	$.fn.readOnly = function(){
		$(this).attr('readonly', 'readonly');
		return $(this);
	}
})(jQuery);

O uso é igual a qualquer método jQuery:
$(seletor).check();   //marca um checbox ou radiobox
$(seletor).uncheck(); //desmarca um checbox ou radiobox
$(seletor).disable(); //desabilita um elemento
$(seletor).enable();  //habilita um elemento
$(seletor).readOnly();//transforma um elemento em somente leitura

Loading Module: Computer Engineer
|############-------------------| 50%

#2 Caique Dourado

Caique Dourado
  • Caique Dourado
  • Colaborador
  • 1 Revisões
  • LocalizaçãoSalvador - BA

Revisou 18 janeiro 2011 - 10:06

Rick,

É possível obter os mesmos resultados utilizando apenas seletores.

Veja:

//Check
$('input[@type=checkbox]:not(:checked)').attr('checked', true);

//Uncheck
$('input[@type=checkbox]:checked').attr('checked', false);

//Disable
$('input:not(:disabled)').attr('disabled', 'disabled');

//Enable
$('input:disabled').removeAttr('disabled');


Abraço!
Caique Dourado
www.caiquedourado.com.br

#3 Rick =)

Rick =)
  • Rick =)
  • Colaborador
  • 16 Revisões

Revisou 12 fevereiro 2011 - 11:08

E o que seria mais fácil?
Digitar:
$('input[@type=checkbox]:checked').attr('checked', false);

Ou:
$('#id_do_input').uncheck()

A idéia é justamente economizar tempo ;)
Loading Module: Computer Engineer
|############-------------------| 50%

#4 angelorubin

angelorubin
  • angelorubin
  • Colaborador
  • 1 Revisões

Revisou 18 julho 2013 - 13:52

Olá,

Eu sei que o código foi escito à algum tempo, hoje temos o prop() no jQuery 1.10.2, porém o código criado pelo henrique ainda continua mais enxuto.

jQuery prop()

html
<input id="id-meu-input" type="checkbox" checked="checked" />

js
$('#id-meu-input').prop("checked",true); // assinala o input
$('#id-meu-input').prop("checked",false); // desmarca o input assinalado
$('#id-meu-input').uncheck(); // desmarca o input assinalado





1 usuário(s) está(ão) lendo este código

1 membro(s), 0 visitante(s) e 0 membros anônimo(s)