2012-01-05 2 views
1

내가 데이터 도장이 : 콤보 상자 선택 쇼 데이터 ID

var store = new dojo.data.ItemFileReadStore({ data: { 
     identifier: "name", 
     items: [ 
     {name:"Alabama", id:"AL"}, 
     {name:"Alaska", id:"AK"}, 
     {name:"American Samoa", id:"AS"}, 
     {name:"Arizona", id:"AZ"}, 
     {name:"Arkansas", id:"AR"}, 
     {name:"Armed Forces Europe", id:"AE"}, 
     {name:"Armed Forces Pacific", id:"AP"}, 
     {name:"Armed Forces the Americas", id:"AA"}, 
     {name:"California", id:"CA"}, 
     {name:"Colorado", id:"CO"}, 
     {name:"Connecticut", id:"CT"}, 
     {name:"Delaware", id:"DE"} 
    ] 
    }}); 

     var comboBox = new dijit.form.ComboBox({ 
     id: "stateSelect", 
     name: "state", 
     value: "-- Select --", 
     store: store, 
     searchAttr: "name" 
    }, "stateSelect"); 

와 도장 콤보를 가지고 있고 데이터 ID를 검색 할 수있는 텍스트 상자가 있습니다.

그런 다음 데이터 (ComboBox)를 선택하려고합니다. 데이터 ID와 값을 표시하십시오.

어떻게 할 수 있습니까?

답변

1

comboBox.item은 현재 선택된 요소에 대한 참조입니다. 당신은 ID와를 통해 항목의 값을 얻을 수 있습니다

: 그럼 당신이 필요로 어디든지 값을 표시하는 ID와 이름을 사용

var id = store.getValue(comboBox.item, "id"); 
var name = store.getValue(comboBox.item, "name"); 

을 ...

는 예를 들어이 jsfiddle을 참조하십시오 : http://jsfiddle.net/psoares/RS2Z5/

+0

들으 아주 많이.이제 ID와 이름을 얻을 수 있지만 comboBox에서 검색 할 데이터 (id)를 제출할 때 ' 과 같이 선택 항목을 추가하는 방법을 모르겠습니다. – OammieR

+0

comboBox.item이 'null'로 표시됩니다. –

1

아니면 단지 comboBox.item.id 및 자바 스크립트 comboBox.item.name를 호출 할 수 있습니다 ....

는 programmically 값을 설정하려면 (dojo 콤보 상자 선택 프로그래밍 방식으로 설정) .. (질문에 비례하지 않을 수도 있습니다 ... 누군가가 필요할 수도 있음) 방금 ​​선택한 경우 선택한 값을 설정할 때 comboBox가 상당히 버그가 있음을 발견했습니다.

comboBox.set('value', yourValue); 
//such as comboBox.set('value', "Bob"); 

당신이 널 (null)을 반환합니다 comboBox.item 호출 할 때 상자가 내가 도장 콤보 상자의 선택 설정했다 그래서 .... 그 표시를 업데이트 ...하지만 것 디스플레이

을 설정 //
comboBox.set('value', yourValue); 
//set the actual selected item 
comboBox.item = comboBox.store.query({myAttributesName:"myValue"})[0]; 
//such as comboBox.item = comboBox.store.query({name:"Bob"})[0] it will return the Object with name = "Bob" 

그런 다음 comboBox.item.myAttribute를 사용하여 선택 설정 후 원하는 값을 반환하면됩니다. 해피 코딩 ..... :

0

id 및 값은 comboBox.item.id 및 comboBox.item.name을 통해 액세스 할 수 있지만 사용자가 클릭 할 때까지 comboBox.item은 null입니다. ComboBox를 열고 옵션을 선택하면 옵션을 선택하면 comboBox.item이 선택된 옵션 개체로 채워집니다. (http://dojotoolkit.org/api/?qs=1.9/dijit/form/ComboBox)

var comboBox = new dijit.form.ComboBox({ 
    id: "stateSelect", 
    name: "state", 
    store: store, 
    searchAttr: "name", 
    item: {name:"Alabama", id:"AL"} // or store.query({name:"Alabama"})[0] 
}, "stateSelect"); 

를 옵션을 선택하고 Vin.X 제안하거나 콤보 초기화 매개 변수 '항목'에서 설정할 수 있습니다 당신이 할 수있는 항목을 설정하기 위해

는 희망 누군가

을하는 데 도움이

dijit.byId("mySelect").item.i.id 

나는 "내가"무엇의 약자인지 모르지만 나는의 로그 내용으로 그것을 가지고 :

-1

이것은 나를 위해 일한 10

+0

모든 경우에 이것이 작동하는지 궁금합니다. 필립 또는 Vin.X가 제공 한 대답을 사용하는 것이 더 나은 해결책이라고 생각합니다. – g00glen00b