2016-11-11 3 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; 

これは正しいですか?仮にこの問題は解決されました。

関連する問題