Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

139
Visualizações
Alternar problemas. Algunas matrices no se alternan

¿Por qué la matriz 2 no se alterna?

"-" alternado, "+" no alternado

alternado

codigo php:

 $html = ''; $array = array('1' => 'Airport', '2' => 'Restaurant', '3' => 'Market'); foreach ($array as $key => $name) { $x = $key; $html .= '<table class="pad-3"><tr>'; $html .= '<td><a href=\'javascript:toggle("' . $x . '");\'> <img id="' . $x . '_img_1" src="../img/expandable_1.gif" width="9" height="9"/> <img id="' . $x . '_img_2" src="../img/expandable_2.gif" width="9" height="9" style="display:none"/> ' . $name . '</a> </td>'; $html .= '</tr></table>'; $html .= '<div id="' . $x . '_div_1" style="margin-left:15px;display:none;">'; $html .= '</div>'; } echo $html;

JavaScript:

 function toggle(type) { var a = $('#' + type + '_div_1'); var b = $('#' + type + '_img_1'); var c = $('#' + type + '_img_2'); if (a.is(':visible')) { a.hide(); b.show(); c.hide(); } else { a.show(); b.hide(); c.show(); }

}

Corrección temporal: Traté de cambiar el índice de matriz de mi Restaurante a 3. ejemplo: "$array = array('1' => 'Aeropuerto', '3' => 'Restaurante', '4' => 'Mercado'); "

De alguna manera, cuando asigno un índice como 2, no cambia. Tengo problemas cuando configuro el índice en 2

Información adicional: cuando agrego una línea de alerta en js. Cuando hago clic en el restaurante, la alerta aparecerá, pero aún no cambiará

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

REALMENTE necesitas delegar

He simplificado todo: me he deshecho de la tabla innecesaria y de las imágenes.

 window.addEventListener("load",function() { document.getElementById("container").addEventListener("click",function(e) { const tgt = e.target.closest("a"); if (tgt && tgt.classList.contains("toggle")) { e.preventDefault(); // stop link let isHidden = tgt.nextElementSibling.hidden; tgt.nextElementSibling.hidden = !isHidden; tgt.querySelector("span.exp").classList.toggle("plus",!isHidden) tgt.querySelector("span.exp").classList.toggle("minus",isHidden) } }) })
 .content { margin-left: 15px; } .pad-3 { padding: 3px } a.toggle { text-decoration: none } .exp { font-size: 12px; padding-right: 10px; } .exp.plus::after { content: "⊞" } .exp.minus::after { content: "⊟" }
 <div id="container"> <a href="#" class="pad-3 toggle"><span class="exp plus"></span>Airport</a> <div class="content" hidden>Airport</div><br/> <a href="#" class="pad-3 toggle"><span class="exp plus"></span>Restaurant</a> <div class="content" hidden>Restaurant</div><br/> <a href="#" class="pad-3 toggle"><span class="exp plus"></span>Market</a> <div class="content" hidden>Market</div><br/> </div>

PHP

 <div id="container"> <?php $array = array('1' => 'Airport', '2' => 'Restaurant', '3' => 'Market'); foreach ($array as $key => $name) { ?> <a href="#" class="pad-3 toggle"><span class="exp plus"></span><?= $name ?></a> <div class="content" hidden> <?= $name ?> </div><br/> <? } ?> </div>
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda