2014-10-14 3 views
2

addOption을 사용하여 표시되는 양식의 선택 상자가 있습니다. 같은Dojo 선택 - 기본적으로 선택되는 첫 번째 옵션

storeData에서 선택 상자

<select id="mySelect" data-dojo-type="dijit/form/Select" data-dojo-attach-point="mySelect" data-dojo-props="name:'mySelect', placeHolder: 'Select a value', value:''"></select> 

storeData = response.myData; 
var select = dijit.byId('mySelect'); 
select.addOption(storeData.items); 

HTML 선언에 대한 코드 아래, 나는 빈 옵션을 포함 JSON 객체의 목록을 반환하고 있습니다. (label = ""및 value = "");

옵션을 선택하지 않으면 표시 자 텍스트를 표시하려고합니다. 하지만 기본적으로 첫 번째 옵션 (즉, 공백 값 옵션)이 선택되고 해당 위치 소유자 텍스트가 표시되지 않기 때문에 옵션 목록에서 빈 값 옵션을 제거하면 그 이후의 옵션이 기본적으로 선택됩니다.

아무 것도 선택하지 않을 수있는 방법이 있습니까? 이 문제에 대한 포인터가 있습니까?

답변

4

dijit/form/Select은 정상적인 선택 상자 요소 (단순히 향상된 형식 인 <select>)로 작동합니다. 기본적으로 첫 번째 옵션을 선택하는 선택 상자의 기본 동작입니다.

어느 방법 으로든 dijit/form/Select 위젯은 내가 생각하는 자리 표시자를 지원하지 않으며 어느 쪽도 API docs에 문서화되어 있지 않습니다.

대신 placeHolder 속성을 지원하는 dijit/form/ComboBox 또는 dijit/form/FilteringSelect 위젯을 사용할 수 있습니다.

또 다른 일반적인 방법은 (적어도 <select>을 포함)은 예를 들어, 자리 표시 자 역할을하는 기본 선택되고 비활성화 항목을 추가하는 것입니다 :

<select name="select1" data-dojo-type="dijit/form/Select"> 
    <option disabled="disabled" selected="selected" value="">- Select a state -</option> 
    <option value="TN">Tennessee</option> 
    <option value="VA">Virginia</option> 
    <option value="WA">Washington</option> 
    <option value="FL">Florida</option> 
    <option value="CA">California</option> 
</select> 

데모 : 빠른 응답을위한 JSFiddle

+0

감사 . 나는이 옵션들을 고려해 봤지만 드롭 다운을 단지 선택 만 할 수 있도록 (필터링 또는 키잉을 비활성화해야 함) Select 상자를 선택해야했습니다. Combobox 또는 FilteringSelect에서 키잉 값을 허용하지 않을 수 있습니까? –

+0

흠, 나는 그것이 가능하다고 생각하지 않는다. 또 다른 방법은'dijit/form/Select' 옵션의 첫 번째 옵션을 비활성화시킬 수 있다는 것입니다. – g00glen00b

관련 문제