Ich habe eine Reihe von divs, identifiziert mit einer ID beginnend mit einer Zeichenfolge (kind = "Marke"). Ich möchte die Sichtbarkeit der divs umschalten, indem ich innerhalb eines Bereichs auf einen href klicke. Ich möchte, dass der Text dieses Links von "SHOW" zu "HIDE" wechselt.Toggle eine Reihe von Divs auch die Änderung der Verbindung
Ohne die Änderung des Textes ist die Funktion nur onle Linie:
jQuery("#" + kind + "-" + value).toggle();
aber mit dem Text kann ich nicht um eine Zeile nach anderem, bis fast 15 Zeilen Code hinzufügen. Sicherlich ist es viel einfacher.
Aktualisiert Code
function show_hide(brand, value){
var show_hide_text = ["SHOW", "HIDE"];
var id_selected = jQuery("#" + brand + "-" + value).attr("id");
jQuery('div[id ^= "' + brand + '"]').each(function() {
if(this.id != id_selected){
jQuery(this).hide();
jQuery("#" + this.id.replace("-", "-show-")).html(show_hide_text[0]);
}else{
var visi = (jQuery("#" + brand + "-show-" + value).html() == show_hide_text[0]) ? 1 : 0;
jQuery("#" + brand + "-show-" + value).html(show_hide_text[visi]);
} // if
});
jQuery("#" + brand + "-" + value).toggle();
} // function
Der HTML-Code wie dieser (nur ein div gezeigt) gehen würde:
<div ><h3 >SUPER BRAND <a href="javascript: void(0);" onClick="hide_show('brand', 'Super-brand');"><span id=brand-show-Super-brand">SHOW</a></span></h3>
<div class="brand" id="brand-Super-brand">
<div>PRODUCT #1</div>
</div>
</div>
<div ><h3 >MEGA BRAND <a href="javascript: void(0);" onClick="hide_show('brand', 'Mega-brand');"><span id=brand-show-Mega-brand">SHOW</a></span></h3>
<div class="brand" id="brand-Mega-brand">
<div>PRODUCT #3</div>
</div>
</div>
...
Könnten Sie examaple HTML-Code? – jacqbus
HTML hinzugefügt, um die Frage – Cesar