Unten ist mein Code, ich versuche, dynamische Elemente zu verstecken und zu zeigen. Das Problem, das ich habe, ist, ich möchte nur, dass mein verstecktes div nur eins nach dem anderen zeigt, wenn ich nur "Andere" ankreuze. Der Code unten zeigt jedoch das versteckte Div für alle #dynamicRows
Ich habe. so ist es für die anfängliche erste Werk #dynamicRow
hinzugefügt, das Problem ist, wenn ich zwei oder mehr #dynamicRows
Verstecken Textfeld von einem dynamischen Element anzeigen jQuery C#
$('#dynamicRow').on('click', 'input[id^=race]', function() {
if ($(this).is(":checked")) {
if ($(this).val() == "Other") {
$(".cssclass").each(function (index) {
$(this).closest("div").show();
});
}
else {
$(".cssclass").each(function() {
$(this).closest("div").hide();
});
}
}
});
Dies sind dynamische Zeilen, um Hilfe Zwecke i den HTML-Code zeige, jedoch existiert es nicht auf die Bildschirm, ein Benutzer wird auf "ADD" klicken, um den folgenden Code zu generieren. Ich habe kein Problem, dynamische Reihe zu erzeugen, und es ist nicht warum ich posten. Beachten Sie, dass der Name in meinem Optionsfeld von C# generiert wird und alles funktioniert. Das Problem besteht nicht darin, eine dynamische Zeile zu erstellen, sondern in C#.
Dynamische Reihe arbeitet man mit dem oben jQuery:
<div id="dynamicRow">
<input type="radio" value="No" id="race[]" name="Person[hhhhhh].race"> No:
<input type="radio" value="Other" id="race[]" name="Person[hhhhhh].race"> Other:
<div id="iamhidden" class="cssclass">
I appear one at a time, when other radio button is checked
</div>
</div>
Dynamische Reihe zwei nicht mit dem oben Jquery arbeiten und es nimmt die oben genannte Form Ereignisse als seine eigenen, so dass, wenn ich die Taste Radio einchecken Reihe 2, reagiert die dynamische 1. Reihe zu diesem Ereignis und umgekehrt:
<div id="dynamicRow">
<input type="radio" value="No" id="race[]" name="Person[hhhhh].race"> No:
<input type="radio" value="Other" id="race[]" name="Person[hhhhh].race"> Other:
<div id="iamhidden" class="cssclass">
I appear one at a time, when other radio button is checked
</div>
</div>
IDs sollte eindeutig sein, wenn Sie IDs mehr zuweisen möchten als 1 Element Klassen verwenden. – Chris
Sie müssen den Benutzer von .each() berücksichtigen. Dieser Thread kann Ihnen helfen, hoffe ich: http://stackoverflow.com/questions/18966222/jquery-each-and-attaching-click-event nur als ein Beispiel. Vermeiden Sie auch die Verwendung von ID, versuchen Sie, Elemente mithilfe von HTML-Tags auf irgendeine Weise zu identifizieren. –
@Chris ich kann IDs nicht zuweisen, da das HTML ein dynamisches Formular ist und es in C# generiert wird, deshalb habe ich einen Klassenaufruf cssclass – NULL