2011-07-29 5 views
6

오늘 당신에게 쉬운 질문이 있습니다. 사용자가 여러 항목을 선택할 수있는 선택 상자가 있습니다. 또한 사용자가 페이지로 돌아 오면 선택한 항목을보고 필요한 경우 선택을 취소 할 수 있습니다. 문제는 선택을 취소하려고 할 때 선택 항목이 회색으로 변하는 것입니다. 그것은 선택을 해제하지 않습니다.선택 상자에서 항목을 선택 취소하는 방법은 무엇입니까?

<select name="MySelect" multiple> 
<option value="1">1</option> 
<option value="2">2</option> 
<option value="3" selected="selected">3</option> 
<option value="4">4</option> 
<option value="5">5</option> 
</select> 

위의 요소가 페이지로 렌더링 될 때 옵션을 선택 취소 할 수 없습니다. 값이 아직 양식에 전달 중입니다.

어떤 도움이 필요합니까?

+0

jQuery를 사용할 수 있습니까? – Ryan

+0

예, 아니요. 나는이 페이지에서 jQuery를 사용하고 싶지 않다. –

+0

문제가 무엇인지 확실하지 않지만 선택 항목에 multiple = "multiple"이 없어야합니까? 이것은 문제에 기여할 수도 있고 아닐 수도 있습니다. 우리가 문제를 볼 수있는 샘플이 있습니까? – Dave

답변

25

다중 값 선택 목록에서 Ctrl 키를 누른 상태에서 옵션을 선택 취소 할 수 있습니다.

+0

이것을 읽은 후 나는 바보가된다 ... 고마워. Btw, 그것을 찾는 사람도. jQuery를 사용하여'selected '를 제거 할 수 있습니다 (외부 동작이 필요한 경우) –

+3

⌘-Click도 작동합니다. – Daniel

+0

Mac VM 내에서 Ctrl + ⌘- 클릭 –

0

JS 객체를 사용하여 select (JQuery)에서 행의 상태를 암기 할 수 있습니다.

$('#yourselect').click(function(e){   
     var i = this.selectedIndex; 
     if(this.options[i].selectedOld==true){ 
      this.options[i].selected = false; 
      this.options[i].selectedOld = false; 
     } 
     else{ 
      this.options[i].selectedOld = true; 
     } 
    }); 
관련 문제