検索

ホームページ  >  に質問  >  本文

JavaScript は複数選択ボックス入力を実装します

<p>「選択」をクリックすると、ボックスがポップアップし、親と子を含む複数のオプションを選択できます。このオプションを選択すると、ID 番号が入力ボックスにすぐに表示されます。 「OK」をクリックすると、ボックスが非表示になります。各ボックスを入力ボックス内で個別に実行したいと考えています。これは私の HTML です: </p> <pre class="brush:php;toolbar:false;"><p>[選択]をクリックすると、ボックスがポップアップ表示され、親と子を含む複数のオプションを選択できます。このオプションを選択すると、ID 番号が入力ボックスにすぐに表示されます。 「OK」をクリックすると、ボックスが非表示になります。各ボックスを入力ボックス内で個別に実行したいと考えています。これは私の HTML です: </p> <pre><code><button class="btn-select">1 つ選択...</button> <div class="box" style="display:none"" <入力タイプ="チェックボックス"クラス="チェックボックス"値="1">チェックボックス1 <input type="checkbox" class="checkbox" value="2">チェックボックス 2 <input type="text" class="input input-1" value=""" <button class="btn-ok">OK</button> </div> <button class="btn-select">2 つ (親/子) を選択...</button> <div class="box" style="display:none"" <ul class="父親">
  • ; <input type="checkbox" class="checkbox" value="1">パート 1 <ul class="children"> <li><input type="checkbox" class="checkbox" value="5">チェックボックス 5</li> </ul><
  • ; <input type="checkbox" class="checkbox" value="2">パート 2 <ul class="children"> <li><input type="checkbox" class="checkbox" value="7">チェックボックス 7</li> <li><input type="checkbox" class="checkbox" value="8">チェックボックス 8</li> </ul><
  • <input type="text" class="input input-2" value=""" <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("チェック済み", "チェック済み"); } それ以外 { $(this).removeProp("チェック済み"); } }); }; handleParents = 関数(現在) { var $parent = $(current).closest(".children").closest("li").find(">input[type=checkbox]"); if ($parent.parent().find(".children input[type=checkbox]:checked").length > 0) { $parent.prop("チェック済み", "チェック済み"); } それ以外 { $parent.removeProp("チェック済み"); } ハンドル親($parent); } $("ul.father").find("input[type=checkbox]").each(function() { $(input).on("クリック", handleChildren); $(input).on("クリック", function() { ハンドル親(これ); }); });</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: 再帰が多すぎます 最も近いファイル:///var/www/html/jquey.js:1</pre></p>
    P粉502608799P粉502608799481日前541

    全員に返信(1)返信します

  • P粉141035089

    P粉1410350892023-09-07 00:46:28

    Your handleParents 自分自身を無条件に呼び出します。

    返事
    0
  • キャンセル返事