2013-02-09 3 views
1

프로그래밍 방식으로 생성 된 CheckedMultiSelect가 있습니다.dojox.form.CheckedMultiSelect의 값을 프로그래밍 방식으로 설정하는 방법은 무엇입니까?

new dojox.form.CheckedMultiSelect({ 
     id: 'products', 
     name: 'products', 
     multiple: true, 
     readOnly: false, 
     store: store, 
    },'products').startup(); 

지금까지 그렇게 좋았습니다. MultiSelect가 만들어집니다. 이제, I는, 다중 선택하여 웹 페이지를 열 몇몇 체크 박스를 체크하고 크롬 콘솔 사용

var productSelect = dijit.byId("products"); 
productSelect.get('value'); 
[4, 3] 

[4, 3] 체크 값들의 배열이다.

productSelect.set('value', [4, 3]); 

을 그리고이 문제가 발생했습니다 장소 :

내 다음 단계는 이전에 상자를 확인하고 다시 크롬 콘솔을 사용하여 선택을 취소합니다. 'set'함수가 작동하지 않습니다. 상자가 선택되지 않았습니다.

productSelect.set('value', ['4', '3']); 

어떤 아이디어를 시도했습니다?

답변

3

좋아, 대답은 here입니다.

그러나 dijit.form.Select 중요한 제한이 보유 : 그것은 잘 문자열이 아닌 항목 ID를 처리하지 않는 방식으로 구현 입니다. 특히, select.set ("value", id)를 통해 위젯 의 현재 값을 프로그래밍 방식으로 프로그래밍 방식으로 설정하는 것은 문자열이 아닌 (예 : 숫자) ID와 함께 작동하지 않습니다.

이 솔루션은 문자열을 저장소에 ID를 캐스팅하고 사용하는 것입니다

productSelect.set('value', ['4', '3']);  
관련 문제