2012-04-18 6 views
1

에 새로 추가 선택한 속성 및 작동하지만 사용자가 인덱스를 다시 변경 한 후에 내가 선택한 또 다른 속성을 설정합니다. 다른 가치에 e 그리고 나는 그것을 원하지 않는다.제거 선택 속성과 내가 다음이 선택 요소

<select class="dropDownList" id="PersonFunction"> 
    <option value="">Choose</option> 
    <option value="1" selected="selected">Vice President</option> 
    <option value="2" selected="selected">Director</option> 
    <option value="3">Secretary</option> 
    <option value="4">Clerk</option> 
</select> 

내가 선택한 속성을 먼저 제거한 다음 추가 할 수 있습니까? 여기

JsFiddle는 : http://jsfiddle.net/mgrcic/HCrS2/

답변

8
$('#PersonFunction').on('change', function() { 
    $('option:selected', this).attr('selected',true).siblings().removeAttr('selected'); 
}); 

DEMO

+0

모두 선택 중이며 작동하지 않습니다. –

+0

@plurby 작동합니다 – thecodeparadox

+0

이제 작동합니다. 고맙습니다. –

4

selected가 자동으로 선택되는 요소 알 브라우저로 프로그래밍 속성을 업데이트 할 필요가 없습니다. selected 특성은 페이지로드시 기본 옵션을 설정하기위한 용도로만 사용됩니다.

은 다음과 같은 사용, 현재 선택한 옵션으로 활용하려면 다음 작업을

var selectedValue = $("#PersonFunction option:selected").val(); 

Example Fiddle


업데이트

어떤 이유로 당신이 selected 속성을 설정 하시겠습니까위한 경우 (양식으로 내가 이해할 수있는 또 다른 양식을 동적으로 만드는 것입니다) 시도해보십시오.

$("#PersonFunction").change(function() { 
    $("option", $(this)).removeAttr("selected"); 
    $("option:selected", $(this)).attr("selected", true); 
});​ 
+0

을 선택하려는 경우) (.val하는()는 .text 변경) 동적으로 생성 된 양식에 나는 선택한 속성이 없으므로 게시물이 작동하지 않습니다. 나는 가치를 얻는 법을 알고 그것을 요구하지 않았다. –

+0

좋아, 내 업데이 트를 참조하십시오 - 난 아직도 완전히 이것을 요구하는 데 사용하는 논리를 이해하지 않지만. –

+1

동적 양식 작성 및 게시를 포함하여 전체 코드를 다른 질문에 게시 할 수 있습니다. 원하는 코드를 얻는 가장 좋은 방법이라고 생각하지 않습니다. 세부 사항이 없으면 말하기 어렵습니다. –

-1

이렇게하면 선택한 텍스트가 알려줍니다. 당신이 있기 때문에 내가 저장 제출 DIV에 사용자가 클릭 (내 모든 필드 후 옵션 값 대신

$("#PersonFunction").change(function() { 
    var selected = $("option:selected").text(); 
    alert(selected); 
});