2013-06-12 4 views
3

두 개의 콤보 상자가있는 form입니다. 하나는 정상이고 다른 하나는 dijit.form.Combobox입니다.도조에서 콤보 박스에 항목을 추가하는 방법은 무엇입니까?

<select id="mySel"></select> 

<select dojotype="dijit.form.ComboBox" id="dsel"/> 

다음 스크립트를 사용하여 일반적인 항목에 항목을 추가 할 수 있습니다.

var opt = mySel.appendChild(document.createElement('option')); 
opt.text = "My sample text" 

그러나 동일한 것은 dijit combo에서 작동하지 않습니다. 이 작업을 수행하는 방법?

답변

4

Dojo는 DOM 노드 (<select>)를 완전히 다른 것으로 구문 분석합니다. Dojo는 내부적으로 상점을 사용하여 콤보 상자의 옵션을 저장합니다.

콤보 상자에 옵션을 추가하려면 콤보 상자의 저장소에 액세스하여 새 항목을 추가해야합니다. Dojo API 인 ComboBox 또는 Store API에서 자세한 내용을 볼 수 있습니다.

상점 API에는 add()이라는 기능이 있습니다. 이 기능을 사용하면 새 항목을 상점에 추가 할 수 있습니다. 코드는 것 같은 뭔가 :

registry.byId("dsel").get('store').add({ name: "Test", id: 1 }); 

또는 완전한 JSFiddle 찾을 수 here

관련 문제