2013-01-04 2 views
0

아약스를 통해 백그라운드 페이지로 제출할 양식을 작성 중입니다. 다중 선택 컨트롤로 옵션을 제시하고 싶지만 "위에 없음"옵션이 있습니다."none"옵션이있는 다중 선택

질문은 "None"옵션을 선택하는 것이 불가능하고 다른 옵션을 선택하는 것이 가능합니까? 예를 들어 :

사용자가 단독으로 "없음"또는 "쿠바"과 "프랑스"을 선택하는
<select id="country" multiple="multiple"> 
    <option value>None</option> 
    <option value="1">Jamaica</option> 
    <option value="2">Cuba</option> 
    <option value="3">France</option> 
</select>​​​​​​​​​​​​​​​​​​​​​ 

이 유효 할 것 together--하지만 "없음"과 "프랑스". 따라서 사용자가 "없음"을 선택한 다음 다른 옵션을 선택하면 "없음"옵션이 자동으로 선택 취소됩니까?

문제가 도움이된다면 jQuery를 페이지에 사용하고 있습니다.

+1

난 당신이 있지만 관련하여 특정 요구 사항이 상상 .. "none"옵션을 제거하지 않고 국가를 선택하지 않으면 "none"이 적용됩니까? –

+0

목록 아래에 '위의 항목 없음'확인란을 선택해도 사용자가 쉽게 읽고 코드를 작성하기 쉽습니다. – JJJ

+0

@ ClaudioRedi-- 초기 구현 이었지만 사용자가 선택한 항목은 입력을 삭제하기 위해 다른 컨트롤/단추를 만드는 것보다는 쉽게 "선택 취소"할 방법이 없었습니다. – julio

답변

2

이상한 요구하지만, 어쨌든이 당신을 위해 작동 될 수 있습니다

$('#country').change(function() { 
    if ($('option:first', this).is(':selected')) { 
     $('option:not(:first)', this).prop('selected', false); 
    } 
});​ 

http://jsfiddle.net/zhKKw/

+2

나는 그것이 다른 방향, 즉 http://jsfiddle.net/zhKKw/1/ – ic3b3rg

+0

ic3b3rg가 맞아야한다고 생각한다. 간단하고 깨끗한 솔루션 덕분에 dfsq에 감사드립니다! – julio

0

바이올린 : http://jsfiddle.net/sajjansarkar/dRVN4/1/

var dropdown = $("#country"); 
    dropdown.click(function() { 
    var val = dropdown.val(); 
    if (val) { 
     var arr = val.toString().split(","); 
     if (arr.length > 0 && arr[0] == "") { 
      dropdown.val(""); 
     } 
    } 
});​ 
+0

Ctrl + A를 눌러서 모두 선택할 수도 있습니다. –