2017-12-31 108 views
1

나는 여러 개의 확인란이 있습니다. 나는 그것들로부터 가치를 얻고 그것을 범위와 숨겨진 입력에 전달하고자한다. 하나의 확인란을 클릭하면 제대로 작동합니다. 그러나 하나 이상의 체크 박스를 클릭하면 마지막 값만 전달됩니다. 뭐가 문제 야? 그걸 도와주세요. 그리고 다른 질문입니다. 여러 값을 저장하기 위해 input 또는 textarea를 사용하는 것이 적절합니까? jQuery가지도 함수에서 입력 및 범위로 데이터를 전달합니다.

답변

1

당신이 .html() 방법을 사용

function t() { 
 
     $('input[type="checkbox"]:checked').map(function(){ 
 
      var dataAttr = $(this).attr('name'); 
 
      var dataAttrVal = $(this).val(); 
 
      $('input[name="' + dataAttr + '-value"]').val(dataAttrVal); 
 
      $('#summary_' + dataAttr).html(dataAttrVal); 
 
      console.log(dataAttr); 
 
      console.log(dataAttrVal); 
 
     }).get().join(); 
 
    }; 
 

 
    $('input[type="checkbox"]').on('click', function(){ 
 
     t(); 
 
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="checkbox" name="sause" id="sause-garlic" value="Sos czosnkowy" class="sause">       
 
           <label for="sause-garlic">garlic</label> 
 
           <input type="checkbox" name="sause" id="sause-tabasco" value="Sos tabasco" class="sause">       
 
           <label for="sause-tabasco">tabasco</label>        
 
<br> 
 
           <input type="checkbox" name="vegies" id="vegies-tomato" value="Tomato" class="vegies">       
 
           <label for="vegies-tomato">tomato</label> 
 

 
           <input type="checkbox" name="vegies" id="vegies-tomato" value="potato" class="vegies">       
 
           <label for="vegies-tomato">potato</label> 
 

 

 
<input type="text" name="sause-value"> 
 
<input type="text" name="vegies-value">      
 

 
<span id="summary_sause" class="summary"></span> 
 
    <span id="summary_vegies" class="summary"></span>

, 당신은 기본적으로이 모든 것을 덮어 쓰기를하고 있습니다.

$('#summary_' + dataAttr).append(dataAttrVal); 

이 대답 질문에 : 당신은 기존 값에 추가 할 .append() 방법을 사용할 수 있습니다, 또는

var s = $('#summary_' + dataAttr); 
s.html(s.html() + dataAttrVal); 

:

$('#summary_' + dataAttr).html(dataAttrVal); 

으로 : 당신은 라인을 대체 할 수 하지만 코드에서 수정할 필요가있는 다른 많은 문제가 있습니다. 나는 너를 너 자신에 의해 탐구하게하고, 너가 어려움에 직면하면, 새로운 대답을 게시하고 우리는 너를 도울 것이다.

두 번째 질문은 여러 값을 저장하는 데 input 또는 textarea를 사용하는 것이 적절합니까? 일반적으로 좋은 생각은 아니지만 일부 시나리오에서는 괜찮을 수 있습니다. 좋은 조언을하기 위해 정확한 시나리오와 요구 사항을 알아야합니다.

+0

나는 어떤 종류의 체크 박스가있는 양식이 있습니다. 내 양식의 숨겨진 입력 값을 전달하고 양식을 전달합니다. 그리고 내 코드에서 어떤 문제점을 발견 했습니까? – MMPL1

+0

내가 준 옵션 중 하나를 선택하고 코드를 업데이트 한 다음 실행하여 원하는대로 작동하는지 확인하십시오. 당신이 다른 방식으로 행동하기를 원하는 것을 발견하면, 그것들이 문제입니다. 문제를 해결하고 문제가있는 경우 새로운 질문에 게시하면 도움이됩니다. –

+0

알겠습니다. 하지만 코드가 완벽하게 작동합니다! 아마도 수정해야 할 것이 하나 있는데, 데이터를 텍사 레아에게 넘겨 줄 수도 있지만, 나는 스스로 해결할 수 있다고 생각합니다. 고맙습니다. – MMPL1