2011-02-10 6 views
0

드롭 다운 선택기가있어서 선택에 따라 양식의 다른 부분을로드해야합니다.jQuery를 사용하는 반복 선택 자 없음

이 선택기를 몇 번 아래로 반복하고 동일한 옵션을 선택하지 않아야합니다. 모든 mySelector의 선택된 옵션을 실행해야하고 옵션이 선택된 경우 일부 오류 메시지가 표시되어야한다고 가정합니다. 방법을 잘 모르겠습니다.

는 여기에 지금까지있어 무엇 :

$('.mySelector').change(function(){ 
    var selectForm = '#' + $(this).val(); 
    $('div').next('.fLoad').load('formParts.html ' + selectForm); 
}); 

<select class="mySelector"> 
    <option value="selectOne">Select one</option> 
    <option value="o1">Car details</option> 
    <option value="o2">Boat details</option> 
    <option value="o3">Train details</option> 
    <option value="o4">Bike details</option> 
    <option value="o5">Sub details</option> 
</select> 

<div class='fLoad'> </div> 
    <option value="selectOne">Select one</option> 
    <option value="o1">Car details</option> 
    <option value="o2">Boat details</option> 
    <option value="o3">Train details</option> 
    <option value="o4">Bike details</option> 
    <option value="o5">Sub details</option> 

<div class='fLoad'> </div> 

<select class="mySelector"> 
    <option value="selectOne">Select one</option> 
    <option value="o1">Car details</option> 
    <option value="o2">Boat details</option> 
    <option value="o3">Train details</option> 
    <option value="o4">Bike details</option> 
    <option value="o5">Sub details</option> 
</select> 

<div class='fLoad'> </div> 
+0

HTML이 펑키처럼 보입니다. 옵션 태그가 닫히지 않았습니다 ... –

+0

현재 선택 코드가 하나만있는 코드는 닫는 옵션없이 작동합니다. HTML은 닫을 필요가 없습니다. 그러나 확실히, 나는 닫을 수있다. 이것을 언급 해 주셔서 감사합니다. – santa

+1

ID는 HTML 문서에서 고유해야합니다. 이벤트 처리기는 ID가 'mySelector' 인 첫 번째 요소에만 추가됩니다. 'next ('#fLoad')'는 ID가'fLoad' 인 경우 다음 요소를 선택하지만 * class *'fLoad' 요소 만 가질 수 있습니다. –

답변

1

가 bools에 한 번만 옵션을 통해 루프가 그런 식으로 값의 사전을합니다.

var alreadyUsed = {}; 

$("select").each(function(){ 
    var thisVal = $(this).val(); 
    if(alreadyUsed[thisVal]){ 
     // found a dupe 
    } 

    alreadyUsed[thisVal] = true; 
}); 
+0

이것은 흥미로운 것 같습니다. 내 $ ('. mySelector') 내에 이것을 추가합니까? change (function() {function? – santa

+1

바꿀 때마다 확인하고 싶다면 제출 버튼에 연결하십시오. 기본 "하나 선택"값을 추가하거나 아직 변경되지 않은 선택 항목을 무시하고 싶다면 그렇지 않으면 방망이에서 오류가 발생합니다. –