2016-11-11 1 views
1

동적 목록 상자를 변경하고 싶지만 무엇을해야할지 모르겠습니다.목록 상자의 내용을 확인란으로 변경하십시오.

체크 박스가 선택되었을 때 목록 상자의 내용을 변경하고 싶습니다.

// getPageFileData -> Data acquisition with Ajax.. 
 
var retData = getPageFileData(productSeq, 3); 
 

 
var linkArray = [{text:"Select Page", value:""}]; 
 
for (var i = 0; i < retData.PageList.length; i++) { 
 
    linkArray.push({ text: retData.PageList[i].page_title, value: retData.PageList[i].page_id }); 
 
} 
 

 
// set linkArray 
 
linkCustomLinkCtrl = { 
 
    disabled: data.customType && data.customType == "2" ? false : true, 
 
    name: 'customLink', 
 
    type: 'listbox', 
 
    label: 'CustomLink', 
 
    values: linkArray 
 
}; 
 

 

 
linkCustomLinkOtherCtrl = { 
 
    disabled: data.customType && data.customType == "2" ? false : true, 
 
    name: 'customLinkCheck', 
 
    type: 'checkbox', 
 
    checked: false, 
 
    text: 'OtherProduct', 
 
    onclick: function (e) { 
 
    if (e.control.value()) { 
 
     var retData = getPageFileData("", 3); 
 
     var linkArray = [{ text: "Select Page", value: "", type: "menuitem" }]; 
 
     for (var i = 0; i < retData.PageList.length; i++) { 
 
     linkArray.push({ text: retData.PageList[i].page_title, value: retData.PageList[i].page_id, type: "menuitem" }); 
 
     } 
 
     var replaceSelect = new Array(); 
 
     for (var i = 0; i < linkArray.length; i++) { 
 
     replaceSelect.push(linkArray[i]); 
 
     } 
 
     // ------------------------------------- 
 
     // Is not it like this? 
 
     win.find("#customLink")[0]._values = replaceSelect; 
 
     // ------------------------------------- 
 

 
     console.dir(win.find("#customLink")); 
 
    } 
 
    } 
 
}

그것은 처음부터 _values를 다시 작성하는 방법 아닌가요? 불쌍한 영어로 유감입니다.

답변

0

어디에서 올바르게 설정해야할지 모르겠습니다. 아래와 같이 설정을했습니다.

var linkList = win.find("#customLink")[0]; 
if (linkList.menu) { 
    linkList.value(null); 
    linkList.menu = null; 
    linkList.settings.menu = replaceSelect; 
} 
linkList._values = replaceSelect; 
linkList.settings.values = replaceSelect; 
linkList.state.data.menu = replaceSelect; 

이것이 맞습니까? 잠정적으로 문제가 해결되었습니다.

관련 문제