Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rafael Fiori

[Resolvido] Seletor jQuery

Recommended Posts

Olá to quebrando a cabeça aqui e não consegui resolver ainda, por isso venho pedir ajuda aos amigos do forum.

 

O que eu preciso é que quando o botão for clickado o tr.linhaPrincipal e o tr.linhaChild sejam escondidos, levando em conta é claro que os elementos que precisam ser escondidos são:

O "tr" que tem o botão (classe linhaChild)

O "tr" anterior ao tr citado acima (classe linhaPrincipal)

 

Qualquer duvida é só perguntar, ahh os dados da tabela serão carregados por ajax (não que isso venha ao caso)

<html>
<body>
<table>
<tr class='linhaPrincipal'>
	<td>a</td>
	<td>b</td>
	<td>c</td>
	<td>d</td>
	<td>e</td>
</tr>
	<tr class='linhaChild'>
		<td colspan='5'>
			<div>
				Botao Editar
			</div>

			<div>
				<input name='editarProduto' type='button' value='Editar' />
			</div>								
		</td>
	</tr>

<tr class='linhaPrincipal'>
	<td>1</td>
	<td>2</td>
	<td>3</td>
	<td>4</td>
	<td>5</td>
</tr>
	<tr class='linhaChild'>
		<td colspan='5'>
			<div>
				Botao Editar
			</div>
			<div>
				<input name='editarProduto' type='button' value='Editar' />
			</div>								
		</td>
	</tr>
</table>

</body>
</html>
<script type="text/javascript" src="jquery.js"></script>
<script>
$(document).ready(function() {
$('input[name=editarProduto]').live('click', function(){
	$(this).hide();
});
});
</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

inicio:

$(document).ready(function() {
$('input[name=editarProduto]').live('click', function(){
	$(this).parents('tr').hide();
});
});

veja sobre o seletor que usei, com ele você conseguirá fazer oque quer.

 

você precisará da função .live() para atrelar os eventos aos objetos que virão via ajax.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então william... com o parents ele ta pegando apenas o <tr class='linhaChild'>

 

achei uma função na net que consegui resolver:

$.fn.reverse = function() {
	return this.pushStack(this.get().reverse(), arguments);
};

$.each( ['prev', 'next'], function(unusedIndex, name) {
	$.fn[ name + 'ALL' ] = function(matchExpr) {
		var $all = $('body').find('*').andSelf();
		$all = (name == 'prev')? $all.slice(0, $all.index(this)).reverse(): $all.slice($all.index(this) + 1);
		if (matchExpr) $all = $all.filter(matchExpr);
		return $all};
});
$('input[name=editarProduto]').live('click', function(){
	$(this).prevALL('tr:eq(1)').html("<td>C</td><td>H</td><td>A</td><td>N</td><td>GED</td>");
	$(this).parents("tr").html("<td colspan='5'>DETAILS</td>");
});

});

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.