JavaScript implementiert die Eingabe in ein Mehrfachauswahlfeld
P粉502608799
P粉502608799 2023-09-06 09:26:47
0
1
525
<p>Wenn ich auf „Auswählen“ klicke, erscheint ein Feld und wir können mehrere Optionen auswählen, einschließlich übergeordneter und untergeordneter Optionen. Bei Auswahl der Option wird die ID-Nummer sofort im Eingabefeld angezeigt. Wenn wir auf OK klicken, wird das Feld ausgeblendet. Ich möchte, dass jedes Feld einzeln innerhalb des Eingabefelds bearbeitet wird. Das ist mein HTML: </p> <pre class="brush:php;toolbar:false;"><p>Wenn ich auf „Auswählen“ klicke, erscheint ein Feld und wir können mehrere Optionen auswählen, einschließlich übergeordneter und untergeordneter Optionen. Bei Auswahl der Option wird die ID-Nummer sofort im Eingabefeld angezeigt. Wenn wir auf OK klicken, wird das Feld ausgeblendet. Ich möchte, dass jedes Feld einzeln innerhalb des Eingabefelds bearbeitet wird. Das ist mein HTML: </p> <pre><code><button class="btn-select">Wählen Sie eins aus...</button> <div class="box" style="display:none"> <input type="checkbox" class="checkbox" value="1">checkbox 1 <input type="checkbox" class="checkbox" value="2">Checkbox 2 <input type="text" class="input input-1" <button class="btn-ok">OK</button> </div> <button class="btn-select">Wählen Sie zwei (übergeordnetes/untergeordnetes) aus...</button> <div class="box" style="display:none"> <ul class="vater"> <li> <input type="checkbox" class="checkbox" value="1">Teil 1 <ul class="children"> <li><input type="checkbox" class="checkbox" value="5">Checkbox 5</li> </ul></li> <li> <input type="checkbox" class="checkbox" value="2">Teil 2 <ul class="children"> <li><input type="checkbox" class="checkbox" value="7">Checkbox 7</li> <li><input type="checkbox" class="checkbox" value="8">Checkbox 8</li> </ul></li></ul> <input type="text" class="input input-2" <button class="btn-ok">OK</button> </div> . ...选择三个... ..选择四个.. .. .</pre> <p>这是我的JS(子级和父级):</p> <pre class="brush:php;toolbar:false;">handleChildren = function() { var $checkbox = $(this); var $checkboxChildren = $checkbox.parent(); $checkboxChildren.each(function() { if ($checkbox.is(":checked")) { $(this).prop("checked", "checked"); } anders { $(this).removeProp("geprüft"); } }); }; handleParents = function(current) { var $parent = $(current).closest(".children").closest("li").find("> input[type=checkbox]"); if ($parent.parent().find(".children input[type=checkbox]:checked").length > 0) { $parent.prop("checked", "checked"); } anders { $parent.removeProp("markiert"); } handleParents($parent); } $("ul.father").find("input[type=checkbox]").each(function() { $(input).on("click", handleChildren); $(input).on("click", function() { handleParents(this); }); });</pre> <p>这是我的JS:</p> <pre class="brush:php;toolbar:false;">$(document).on('click', '.btn-ok', function(){ $('.box').hide() }); $(document).on('click', '.btn-select', function(){ $('.box').hide() $(this).next().show(); }); $(".checkbox").change(function() { var text = ""; $(".checkbox:checked").each(function() { text += $(this).val() + ","; }); text = text.substring(0, text.length - 1); $(this).next().val(text); });</pre> <p>现在控制台显示了一个错误:</p> <pre class="brush:php;toolbar:false;">Uncaught InternalError: zu viel Rekursion nächste Datei:///var/www/html/jquey.js:1</pre></p>
P粉502608799
P粉502608799

Antworte allen(1)
P粉141035089

您的handleParents无条件地调用自身。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage