Ich habe eine Startmenge von HTML-Feldern mit einer Schaltfläche Weitere Felder hinzufügen. Der Benutzer kann beliebig viele Sätze von Feldern hinzufügen.Targeting automatisch generierte Felder mit inkrementierten IDs (JavaScript)
<input id="alpha1" name="alpha1" type="text">
<input id="beta1" name="beta1" type="text" style="display:none;">
<select id="select_box1" name="select_box1">
<option value="one">one</option>
<option value="two">two</option>
</select>
Die Mehr Option hinzufügen löst JS einen neuen Satz von Feldern creatate und erhöht den id
und name
um eins. Code ausgeführt, um zu rationalisieren, aber ich kann alle auf Anfrage veröffentlichen.
// [...]
next = next + 1;
// [...]
var fieldtype_1 = '<input id="alpha' + next + '" name="alpha' + next + '">'
var fieldtype_2 = '<input id="beta' + next + '" name="beta' + next + '" style="display:none;">'
var select_options = `
<option value="one">one</option>
<option value="two">two</option>
`
var fieldtype_3 = '<select id="select_box' + next + '">' + select_options + '</select>'
Das beta
Feld muss/auszublenden auf Benutzereingaben in ein Auswahlfeld basierend zeigen.
$(document).ready(function() {
toggleFields();
$("#select_box1").change(function() {
toggleFields();
});
});
function toggleFields() {
if ($("#select_box1").val() == "two") {
$("#alpha1").hide();
$("#beta1").show();
}
else {
$("#alpha1").show();
$("#beta1").hide();
}
}
Der obige Code funktioniert wie vorgesehen für meine Standard-ID (1) Satz von Feldern. Ich weiß jedoch nicht, wie man sich an alle (unbekannte) Anzahl von zusätzlichen Feldern richtet, die der Benutzer möglicherweise zu diesem Formular hinzufügen könnte.
Append-Elemente mit einer Klasse und Nutzungsklassen anstelle von Element-ID. – dynamicallyCRM
Jeder Feldsatz hat einen Auswahl-, Primär- und Sekundäreingang. Das Auswahlfeld muss nur das primäre/sekundäre Umschalten steuern, das mit seinem eigenen Satz verknüpft ist. – Kilpatrick