Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
estou com uma duvida que é a seguinte
eu estou precisando passar um valor quando eu clico em um botão, e uma função em jquery ira pegar este valor para trabalhar.
se fosse em js básico eu passaria pelo o botão a função com o onclick(parametro) e pegaria assim function (parametro passado).
mas em jquery eu não sei voces poderiam me informar.
>
O clássico ainda funciona mesmo usando jquery. Exemplo:
<script>
function mostra(){
alert( $('#meuValor').val() );
}
</script>
<input type="hidden" id="meuValor" value="algum valor" />
<input type="button" onclick="mostra()" value="Mostra" />
espero ter ajudado ;)
então na verdade isso eu já sabia mas o problema que o conteudo é dinamico então não tem como eu dar o nome da variavel correta, por exemplo eu tenho uma lista com 10 parametros diferentes, e eu tenho que passar este parametro pra que eu possa executar a função.
Assim que precisa?
<script>
$(document).ready(function(){
$('input[type="button"]').click(function(){
alert($(this).val());
});
});
</script>
<input type="button" value="Mostra" />
<input type="button" value="Imprime" />
<input type="button" value="Sei lá o que" />
<input type="button" value="qualquer coisa" />
Não testei aqui, mas deve funcionar. Com este código, você clica em qualquer botão, e automaticamente o script pega o seu valor e manda um alert. Agora, você pega e modifica a seu gosto
po lucas muito obrigado pela a ajuda, porem ainda não é o que eu quero porque se eu pegar o valor do botão na verdade eu estarei pegando o texto que é escrito nele, mas foi quase isso, na verdade eu estou tentando colocar um atributo no botão e ai selecionalo com jquery
Acho que não entendi, você quer clicar num botão e passar o que? uma querystring? um parametro através de uma função?
é o seguinte lucas eu consegui passar o valor com a dica que você me deu o meu codigo faz o seguinte
$(document).ready(function() {
$("#btnColor").click(function () {
var cor = ($("#hxColor").val() );
var local = ( $("input[name='local']:checked").val());
$("<p id="+local+">Local:"+cor+"Cor:"+local+"<input type='button' name='1' id='removeParagrafo' value='Remover'/><input type='button' id='testCor' value='Teste'/></p>").appendTo('#exibir');
//$("#exibir").load('model/exibe_Funcionarios.php',alert("sera escrito agora!"));//método load ajax
$('#removeParagrafo).click(function(){
alert($(this).attr("name"));
});
});
});
então no começo do codigo eu pego 2 valores que é o local e a cor e escrevo os mesmos em um paragrafo, e com a sua idéia eu consegui pegar o atributo name.
agora o meu outro problema é o seguinte na função que eu pego o atributo name se eu tiver mais de um paragrafo ele ira me mostrar os atributos de todos os paragrafos, eu não estou sabendo como pegar somente o atributo do botão que eu clicar.
Rapaz, está meio confuso o teu script, não compreendi 100% mas ve se é isso que precisa:
ps: não pude testar...não sei como estava o seu html...
<script>
$(document).ready(function() {
$("#btnColor").click(function () {
var cor = ($("#hxColor").val());
var local = ($("input[name='local']:checked").val());
$("<p id="+local+">Local:"+cor+"Cor:"+local+"<input type='button' name='1' id='removeParagrafo' value='Remover'/><input type='button' id='testCor' value='Teste'/></p>").appendTo('#exibir');
//$("#exibir").load('model/exibe_Funcionarios.php',alert("sera escrito agora!"));//método load ajax
});
$(':button[value="Remover"]').click(function(){
alert($(this).attr("name"));
});
});
</script>lucas é quase isto que eu quero, graças a deus eu estou já conseguindo pegar o atributo do botão o atributo name.
agora o problema é o seguinte, cada paragrafo tem um botão remover, só que se eu tiver 3 paragrafos, a função
$(':button[value="Remover"]').click(function(){
alert($(this).attr("name"));
});
ira me retornar o valor do atributo dos 3 paragrafos, e eu só quero o valor do paragrafo que eu solicitei.
Poste o seu HTML também amigo, para que eu possa fazer uns testes
lucas é o seguinte o meu html não da para postar pois eu tenho um plugin em jquery que pega o hexa da cor, e ai eu tenho um local e pronto, nada mais, ai o resto é na função que estamos trabalhando neste post
acredito que voce vai precisar do .each..
Estude a documentacao no site do jquery -> http://api.jquery.com/each
Muito obrigado pela a ajuda e atenção Lucas e Rafael, mas eu consegui resolver o meu problema da seguinte forma
como o código que o lucas me passou trazia um array de todos os elementos que estavam na página então eu jogo o array em uma variavel e pego apenas o primeiro valor.
$(':button[value="Remover"]').click(function(){
var local = ($(this).attr("name"));
var local2 = (local)[0];
});
O clássico ainda funciona mesmo usando jquery. Exemplo:
espero ter ajudado ;)