Pergunta
Cérebro do aperto e necessidade de ajuda,
Eu tenho uma tabela com 6 linhas que são que pode ser escondida ou visível, dependendo se a caixa de seleção está marcada. Esta rotina .each funciona muito bem com um pequeno problema - quando a última caixa de seleção (val = "5") está marcada e você apertar o botão de atualização da linha 6 (com class = "hide5") está escondido. Isso só ocorre na última caixa de seleção -. Qualquer outra caixa de seleção que está marcada estadias visíveis
$(document).ready(function($) {
$('input:checkbox').each(
function(rowIndex){
if($('#view'+rowIndex).is(':checked') == true){
$('.hide'+rowIndex).show();
}
else if($('#view'+rowIndex).is(':checked') == false){
$('.hide'+rowIndex).hide();
}
}
);
$('input:checkbox').click(function () {
var row = this.value;
$('.hide' + row).toggle();
});
});
A fonte HTML para o 6 th linha é:
<tr class="hide5">
<td width="175" align="center" style="padding:1px 0px 11px 0px"><br />
<span>Total</span><br />
<span> </span><br />
</td>
<td width="175" align="center">
<input class="auto" type="text" id="bwPound" size="18" alt="p8c3pvS" />
</td>
<td width="175" align="center">
<input class="auto" type="text" id="bwPound" size="18" alt="p8c3pvS" />
</td>
</tr>
Agradecemos antecipadamente a sua ajuda
Bob Knothe
Solução
Tente isto:
$(document).ready(function($) {
$('input:checkbox').each(function(rowIndex){
var $row = $(this);
if ($row.is(':checked')){
$('.hide'+rowIndex).show();
} else {
$('.hide'+rowIndex).hide();
}
});
$('input:checkbox').click(function () {
var row = this.value;
$('.hide' + row).toggle();
});
});
Outras dicas
A caixa de seleção tem id "View5", mas as referências JS 'view'+rowIndex
. são sensíveis .
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow