2012-02-28 3 views
1

여러 div에 그룹화 된 입력 요소가 있으므로 같은 그룹의 입력 값이 같지 않아야합니다.여러 입력 그룹에서 재발행을 확인하는 방법은 무엇입니까?

예 :

<div class="group1"> 
    <input name="group1a" id="group1a"/> 
    <input name="group1b" id="group1b"/> 
    <input name="group1c" id="group1c"/> 
    <input name="group1d" id="group1d"/> 
<div> 
<div class="group2"> 
    <input name="group2a" id="group2a"/> 
    <input name="group2b" id="group2b"/> 
    <input name="group2c" id="group2c"/> 
    <input name="group2d" id="group2d"/> 
<div> 

이러한 모든 입력이 어떤 값을 (사용자 입력)이 그래서, 사용자가 임의의 입력에 동일한 값을 입력하면 점검 할 그룹 1 (동일 그룹 2로서 , group3, ...) 그러면 시스템에서 "해당 그룹에 같은 값을 입력 할 수 없습니다"라는 경고 메시지가 나타납니다.

이 작업을 수행하는 가장 효율적인 방법은 무엇입니까? jQuery?

답변

2

당신은 할 수 있습니다 : 여기

$('input').blur(function(){ 
    var curr = this.value; 
    if(curr != '' && $(this).siblings('input[value='+curr+']').length > 0){ 
     alert('you can\'t enter the same value twice in the same group'); 
     this.value = ''; 
    } 
}); 

바이올린 http://jsfiddle.net/QRyWQ/

1
$(".group1, .group 2").each(function() { 
    var lastValues = {}; 
    $(this).find("input").each(function() { 
     var thisVal = $(this).val(); 
     if($.inArray(thisVal , lastValues) > -1) { 
      alert('You cannot enter any same value in that group'); 
      break; 
     } 
     lastValues.push(thisVal); 
    }); 
}); 
관련 문제