2014-09-24 1 views
1

jQuery의 변경시 선택한 옵션 값의 유효성을 검사해야합니다. 여기 실제 코드와 내가 시도한 동적 jQuery가있다. 나는 다른 곳을 때렸다는 것을 안다, 나는 그것이 어디에 있는지 모른다. 아무도 나를 도울 수 있다면 정말 감사하겠습니다.선택 상자 ': selected'값 유효성 검사 jQuery

필자는 하나의 메인 div 컨테이너에 백엔드에서 동적으로로드되는 선택 상자가있는 행 목록을 가지고 있습니다. 선택 상자의 수 또한 동적으로 렌더링됩니다. 나는 그것이 중요하지 않기를 바란다. 선택 상자 배치의 배열은

예를 들어

enter image description here

내가 처음 콤보 상자에서 옵션을 선택하면, 나도 같은 선택 옵션이 이미 다른 선택 상자에 선택되어 있는지 여부되어 확인해야 ... 이런 식입니다 아니. 선택되어 있으면 다른 선택 상자에서 이미 동일한 값을 선택했다는 경고 메시지를 표시해야합니다. 동일한 유효성 검사가 모든 선택 상자에 대해 수행되어야합니다. 이 일이 제대로 작동하지 않을

$(document).on('change', 'select.addedOptions, select.defaultSel', function() { var selCurrent = $(this).find(':selected').val();$('.confCustFormCont .confCustRow').each(function() {var selAllOtherValue = $(this).find('select option:selected').text();});}); 

:

이것은 내가 노력 코드입니다. 어떤 아이디어?

+0

주은 HTML은 –

답변

2

을이 작업을 수행하면 값을 얻기 위해 루프를 사용할 수 있으며 현재 선택한 값을 비교하십시오. 당신을 위해 샘플 :

 $("select").change(function() { 
      var selectedValues = [], currentValue = $(this).find("option:selected").val(); 
      $("select").each(function() { 
       selectedValues.push($(this).find("option:selected").val()); 
      }); 
      if (selectedValues.indexOf(currentvalue) > -1) 
       alert("you have already selected this value, please select another one."); return false; 
     }); 

희망이 도움이 :)

+0

코드 검사 중 ... – Vasethvan

+0

그룹을 지정하려면 상자를 선택한 다음 클래스를 적용한 다음 해당 선택기를 메서드에 사용하면 원하는 수만큼의 선택 상자가 작동합니다 –

+0

: o 도둑! 하하하. – Edward

1

아래의 기본 원칙은 값을 선택하여 이전 선택의 옵션을 선택한 다음 해당 값을 현재 값과 비교합니다. 에드워드에 의해 제안

select1 = $('#select1'); 
select2 = $('#select2'); 
select3 = $('#select3'); 

$(select2).change(function() { 
    var this_val = $(this).val(); 
    var that_val = $(select1).find('option[value="' + val + '"]').val(); 
    if(this_val == that_val) { 
     alert("Oh no you don't"); 
     return false; 
    } 
}); 

은 ... 당신이 필요로하거나 이국적인 느낌 경우 영리한 루프에 넣어 많은 선택 상자에 대한

+0

이 일이 좋다. 그러나 우리는 숫자 선택 상자를 예측할 수 없습니다. 우리는 앞으로 10, 20을 가질 것입니다. – Vasethvan

+2

그 이유는 내가 루프에 넣어 말했다 :-)'$ ('select'). each (function() {});'해야한다 – Edward

관련 문제