Ich habe eine Auswahloption, die, wenn ausgewählt, soll die entsprechenden Abschnitte anzeigen. Standardmäßig ist alles auf display:none
eingestellt.Verweis auf meine CSS-Klasse als Objekte?
Wenn June ausgewählt ist, möchte ich in diesem Fall alle divs anzeigen, die die Klasse june
haben.
$('#list').change(function() {
if ($(this).val() == "june") {
$('.june').css('display', 'block')
}
});
Der Code funktioniert so, wie er sollte. Ich möchte dies jedoch effizienter schreiben, da ich zusätzliche Monate hinzufügen möchte. Zu diesem Zweck, wie würde ich mich über etwas entlang den Linien, dies zu tun:
$('#list').change(function() {
if ($(this).val() == {
thischosenmonth
}) {
$('.{thischosenmonth}').css('display', 'block')
}
});
wo thischosenmonth
mit dem Monat vom Benutzer gewählten übereinstimmt?
Sie können Variablen innerhalb der jQuery Selektoren verwenden! $ ('.' + UserInput) .css ('display', 'block') Wie rufen Sie die Benutzereingabe ab? – Hodrobond
Wie wäre es mit '$ ('.' + $ (This) .val()). Show();' in Ihrem Change Event? Anstatt die IF für jeden zu verwenden? Wenn sie alle dieselbe Klasse hätten, wie "class = 'june month'", dann könnten Sie '$ ('. Month ') aufrufen. Hide()' zuerst, um alle anderen nicht zutreffenden Monate auszublenden. –