찾다

 >  Q&A  >  본문

JavaScript는 다중 선택 상자 입력을 구현합니다.

<p>선택을 클릭하면 상자가 나타나고 상위 및 하위 옵션을 포함한 여러 옵션을 선택할 수 있습니다. 옵션을 선택하면 입력창에 ID번호가 바로 표시됩니다. 확인을 클릭하면 상자가 숨겨집니다. 입력 상자 내에서 각 상자를 개별적으로 수행하고 싶습니다. 이것은 내 HTML입니다: </p> <pre class="brush:php;toolbar:false;"><p>선택을 클릭하면 상자가 나타나고 상위 및 하위 옵션을 포함한 여러 옵션을 선택할 수 있습니다. 옵션을 선택하면 입력창에 ID번호가 바로 표시됩니다. 확인을 클릭하면 상자가 숨겨집니다. 입력 상자 내에서 각 상자를 개별적으로 수행하고 싶습니다. 이것은 내 HTML입니다: </p> <pre><code><button class="btn-select">하나 선택...</button> <div class="box" style="display:none"> <입력 유형="체크박스" 클래스="체크박스" 값="1">체크박스 1 <입력 유형="체크박스" 클래스="체크박스"값="2>체크박스 2 <입력 유형="텍스트" 클래스="입력 입력-1" 값=""> <버튼 클래스="btn-ok">확인</button> </div> <button class="btn-select">2개(상위/하위) 선택...</button> <div class="box" style="display:none"> <ul class="아버지">
  • <입력 유형="체크박스" 클래스="체크박스"값="1>1부 <ul class="어린이">
  • <입력 유형="체크박스" 클래스="체크박스" 값="5">체크박스 5
  • <입력 유형="체크박스"클래스="체크박스"값="2>2부 <ul class="어린이">
  • <입력 유형="체크박스" 클래스="체크박스" 값="7">체크박스 7
  • <입력 유형="체크박스" 클래스="체크박스" 값="8">체크박스 8
  • <입력 유형="텍스트" 클래스="입력 입력-2" 값=""> <버튼 클래스="btn-ok">확인</button> </div> . ...选择三个... ..选择4个.. .. .</pre> <p>这是我的JS(子级화父级):</p> <pre class="brush:php;toolbar:false;">handleChildren = function() { var $checkbox = $(this); var $checkboxChildren = $checkbox.parent(); $checkboxChildren.each(함수() { if ($checkbox.is(":checked")) { $(this).prop("체크됨", "체크됨"); } 또 다른 { $(this).removeProp("체크됨"); } }); }; handlerParents = 함수(현재) { 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("선택됨"); } handlerParents($parent); } $("ul.father").find("input[type=checkbox]").each(function() { $(input).on("클릭", handlerChildren); $(input).on("클릭", function() { handlerParents(this); }); });</pre> <p>这是我的JS:</p> <pre class="brush:php;toolbar:false;">$(document).on('click', '.btn-ok', function(){ $('.box').숨기기() }); $(문서).on('클릭', '.btn-select', function(){ $('.box').숨기기() $(this).next().show(); }); $(".checkbox").change(function() { var 텍스트 = ""; $(".checkbox:checked").each(function() { 텍스트 += $(this).val() + ",";; }); text = text.substring(0, text.length - 1); $(this).next().val(text); });</pre> <p>现在控台显示了一个错误:</p> <pre class="brush:php;toolbar:false;">잡히지 않은 내부 오류: 재귀가 너무 많습니다. 가장 가까운 파일:///var/www/html/jquey.js:1</pre></p>
    P粉502608799P粉502608799439일 전501

    모든 응답(1)나는 대답할 것이다

  • P粉141035089

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

    귀하의 handleParents는 무조건 자신을 호출합니다.

    회신하다
    0
  • 취소회신하다