gpt4 book ai didi

javascript - ExtJS FormPanel 更改元素名称

转载 作者:行者123 更新时间:2023-11-30 06:48:20 26 4
gpt4 key购买 nike

我有一个带有复选框树的 FormPanel,它是在创建时添加的。现在我想更改面板内所有复选框的通用名称模式。根据 DOM,名称已正确更改,但是当我提交表单时,仍然提交了旧名称。尝试调用 .doLayout 但没有任何运气。有什么想法吗?

changePredicateName: function (panel, predicateName) {
var ref = this;
this.counter = 0;
panel.cascade(function (o) {
var name = ref.groupId + "." + predicateName + "." + ref.counter + "_value";
if (o instanceofnExt.form.Checkbox) {
o.name = name;
ref.counter++;
} else if (o.titleCheckbox) {
o.titleCheckbox.name = name;
ref.counter++;
}
return true;
});
panel.doLayout();
},

最佳答案

doLayout 仅调整/重新排列对象;它不会更改元素名称等属性。为了更改您创建的元素的名称,您需要像下面这样进行一些 DOM 操作(假设 o 是一个 Ext.Element):

if (o instanceofnExt.form.Checkbox) {
o.name = name;
o.set({ name: name });
ref.counter++;
} else if (o.titleCheckbox) {
o.titleCheckbox.name = name;
o.titleCheckbox.set({ name: name });
ref.counter++;
}

关于javascript - ExtJS FormPanel 更改元素名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3874654/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com