2014-05-21 6 views
0

각기 고유 한 추가 및 제거 버튼이있는 여러 개의 다중 선택 요소가있는 양식이 있습니다. 가장 가까운 선택 요소를 각 추가 및 제거 버튼과 어떻게 연관시킬 수 있습니까?가장 가까운 버튼을 클릭 할 때 muti 선택 항목에서 값을 가져옵니다.

<div>Administrator</div> 
<input type="button" class="add" value="Add" /> | <input type="button" class="remove" value="Remove" /> 

<select name="list_1" size="10" multiple="multiple"> 
    <option value="1">John Doe</option> 
    <option value="3">Jimmy Jack</option> 
    <option value="13">George Stephen</option> 
    <option value="26">Joe Smith</option> 
    <option value="30">Mary Kay</option> 
    <option value="76">Ace Ventura</option> 
</select> 

가 여기에 지금까지 시도한 jQuery의 :

다음은 HTML의 한 작은 부분이다. 반환되는 모든 값은 정의되지 않는다 :

$('.remove').click(function(e) {  

    var temp1 = $(this).prev('select').val(); 
    var temp2 = $(this).next('select').val(); 
    var temp3 = $(this).closest('select').val();   
    var temp4 = $(e.target).prev('select').val(); 
    var temp5 = $(e.target).next('select').val(); 
    var temp6 = $(e.target).closest('select').val(); 

    window.console&&console.log('temp1: ' + temp1); 
    window.console&&console.log('temp2: ' + temp2); 
    window.console&&console.log('temp3: ' + temp3); 
    window.console&&console.log('temp4: ' + temp4); 
    window.console&&console.log('temp5: ' + temp5); 
    window.console&&console.log('temp6: ' + temp6); 

    e.preventDefault(); 

}); 
+0

왜 선택에 ID를 할당하고, 그것을 호출하지 않습니다? –

+0

나는 거의 100 개의 선택 요소를 가지고 있습니다. 가능한 한 제네릭으로 만들고 싶습니다. 당신이 더 좋은 방법을 알지 못한다면,하지만 나는 개인 ID에 액세스하고 싶지 않습니다. – VinnyTony

+0

더 좋은 방법은 클래스를 사용하는 것입니다. –

답변

0

난 당신이 다시 원래의 코드를 확인한다고 생각합니다. 방금 ​​코드를 복사했고 $(). 다음 작품이 잘 작동합니다.

var temp2 = $(this).next('select').val(); 

Fiddle

+0

여기있어. 실제로 그것은 바이올린을 통해 작동하지만, 나는 아직도 그것을 내 양식에 값을 표시 할 수 없습니다 ... 이상한. – VinnyTony

+0

내 로컬 복사본에 Add/Remove 단추가 Administrator와 동일한 div에 래핑되었습니다. 내가 여기 게시 한 내용과 일치하도록 변경했습니다! 이것이 내가 머리를 짧게 유지하는 이유입니다. Prosto에게 감사드립니다. – VinnyTony

+0

그럼, .parent(). next ('select')를 사용할 수 있습니다. –