我想更改动态列表框,但我不知道该怎么做。
选中复选框时 我想更改列表框的内容。
// 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 :(得分: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;
这是对的吗? 暂时问题已经解决了。