2016-08-06 2 views
2

동적 입력 필드에 다른 클래스 이름과 이름을 추가 했으므로 각 입력 필드 값이 이미 존재하는지 또는 중복되었는지 확인하고 싶습니다. 첫 번째 CRITERIA_NAME는 기본이고 다른 사람이 appendend 있습니다Javascript : 각 입력 값이 다른 입력 값과 중복되었는지 확인하는 방법

처럼

이 보일 것이다.

<input type="text" name="criteria_name" class="criteria_name"> 
<input type="text" name="criteria_name2" class="criteria_name2"> 
<input type="text" name="criteria_name3" class="criteria_name3"> 
<input type="text" name="criteria_name4" class="criteria_name4"> 
<input type="text" name="criteria_name5" class="criteria_name5"> 

중복 된 항목이없는 경우 각 항목을 확인하려고합니다.

var critname_arr = []; 
var input_check; 
var crit_name_of_first = $('input.criteriaNames').val(); 
var acappended = append_crit_header+1; 
var count_to = 0; 

for(var ab = 2; ab<=acappended; ab++){ 
     var crit_arr; 

    if(crit_name_of_first == $('input.criteria_each_name'+ab+'').val()){ 
     alert("Criteria cannot be duplicate"); 
     return false; 
    }else{ 

     input_check = $('input.criteria_each_name'+ab); 
     input_check.each(function(){ 
      crit_arr = $.trim($(this).val());   
     }); 
     critname_arr.push(crit_arr); 
    } 
    if($('input.criteria_each_name'+ab+'').val() == critname_arr[count_to]){ 
      alert('criteria cannot be duplicate'); 
      return false; 
    } 
    count_to++; 
} 
console.log(critname_arr); 
+1

. 다음 클래스를 선택하고'$ .each'를 사용하여 – Rasclatt

+0

을 반복 할 수 있습니다. 그 클래스 srry를 잊어 버렸습니다 –

+0

여전히 복제 된 경우 서로 비교되지 않습니다. –

답변

0

다음은 사용자가 수행 할 수있는 예입니다. 바이올린에서 값 중 하나를 이미 다른 필드에있는 값으로 변경합니다 (중복 된 값으로 변경). 중복이 없으면 아무 것도하지 않습니다. 중복 검사를 실행하는 "버튼"텍스트를 클릭

jsFiddle을 : 당신은 아마 자신이 선택하는 대신의 id 값으로 클래스를 사용하는 것이 도움이 될https://jsfiddle.net/o52gjj0u/

<script> 
$(document).ready(function(){ 
    $('.ter').click(function(e) { 
     var stored = []; 
     var inputs = $('.criteria_name'); 
     $.each(inputs,function(k,v){ 
      var getVal = $(v).val(); 
      if(stored.indexOf(getVal) != -1) 
       $(v).fadeOut(); 
      else 
       stored.push($(v).val()); 
     }); 
    }); 
}); 
</script> 
<!-- Just use an array name for the input name and same class name as well --> 
<div class="ter">Button</div> 
<input type="text" name="criteria_name[]" class="criteria_name" value="1" /> 
<input type="text" name="criteria_name[]" class="criteria_name" value="2" /> 
<input type="text" name="criteria_name[]" class="criteria_name" value="3" /> 
<input type="text" name="criteria_name[]" class="criteria_name" value="4" /> 
<input type="text" name="criteria_name[]" class="criteria_name" value="5" /> 
+0

재미 있어요. –

관련 문제