Ich versuche ein Änderungsereignis zu erstellen. Wenn ein Benutzer also eine Option aus einem Dropdown auswählt, wird die entsprechende Zeile in der Tabelle markiert (durch Hinzufügen einer Klasse).jQuery/javascript Hinzufügen und Entfernen von Klassen bei Änderung
Ich habe zwei Dinge ausprobiert .. jQuery und Javascript.
Hier ist meine jQuery:
$("#phoneType").change(function() {
if (document.getElementById("optionSelect").value == 2) {
var selectedStatus = parseInt(document.getElementById("optionSelect").value);
$('.clickable-row').removeClass("cra-children-item-selected");
$(this).addClass('cra-children-item-selected');
}
});
Beachten Sie, dass ich Sie Javascript für die ersten zwei Zeilen mit bin, weil ich immer gehalten „val() ist keine Funktion“ Fehler.
Ich habe versucht, mit Hilfe von Javascript zu einfach Klassen hinzufügen/entfernen, aber es scheint nicht meine Syntax zu mögen ...
document.getElementsByClassName("clickable-row").className = "clickable-row";
document.getElementById(selectedStatus).className = "clickable-row item-selected");
Was ich nicht verstehe ist, warum die jQuery isn‘ t arbeiten ... ich habe eine andere Funktion, die perfekt funktioniert:
$(".clickable-row").click(function(event) {
console.log($(this).attr('id'));
$('.clickable-row').removeClass("item-selected");
$(this).addClass('item-selected');
});
Warum ist der Code oben (auf Klick) zu arbeiten, aber meine nicht auf Änderungsfunktion?
Hier HTML:
<table class="table table-striped table-bordered">
<tr>
<th scope="col">Type</th>
<th scope="col">Number</th>
</tr>
<tr id="1" class="clickable-row">
<td>
Work
</td>
<td>
705-556-6677
</td>
</tr>
<tr id="6" class="clickable-row">
<td>
Cellular phone
</td>
<td>
613-444-7777
</td>
</tr>
</table>
<select name="phoneType" id="phoneType">
<option value="-1">Select</option>
<option value="3">Home</option>
<option value="1">Work</option>
<option value="6">Cellular phone</option>
</select>
Bitte fügen html auch – Ish
@Ish html hinzugefügt – Othya
versuchen Klasse klickbare-Zeile hinzuzufügen statt tr – Ish