Javascript 以编程方式设置dijit NumberSpinner值
我想以编程方式更改Javascript 以编程方式设置dijit NumberSpinner值,javascript,dojo,set,dijit.form,Javascript,Dojo,Set,Dijit.form,我想以编程方式更改dijit/form/NumberSpinner值。如何使用“数据dojo连接点”或id实现此目的 下面的代码更新数字微调器文本,但它给了我 “未捕获类型错误:c.advice.apply不是函数”错误 如何以编程方式正确更改值 this.typeResidential.set('value', 30); 这取决于你如何编写应用程序, 如果您正在使用数据dojo attach point编写小部件并访问此小部件。您的-attach-name或使用id并访问小部件throw注册
dijit/form/NumberSpinner
值。如何使用“数据dojo连接点”或id
实现此目的
下面的代码更新数字微调器文本,但它给了我
“未捕获类型错误:c.advice.apply不是函数”错误
如何以编程方式正确更改值
this.typeResidential.set('value', 30);
这取决于你如何编写应用程序,
如果您正在使用数据dojo attach point
编写小部件并访问此小部件。您的-attach-name或使用id
并访问小部件throw注册表
下面的示例使用id
并使用registry.by(“widgetId”).set(“value”,val)使用此小部件的dijit/registry
设置spiiner的值代码>
实例:
require([“dijit/registry”、“dojo/ready”、“dojo/parser”],
函数(注册表、就绪、解析器){
parser.parse();
就绪(函数(){
registry.byId(“typeResidential”).set(“value”,213);
});
}
);代码>
在dojo中,您可以通过编程方式(如bRIMOs answer所示)或声明方式设置小部件的属性
以编程方式使用时,请确保this
对小部件具有正确的作用域
this.typeResidential.set('value', 30);
或者,下面是一个声明性语法的示例,它包括在HTML标记中添加一个namevalue
属性
您可以通过两种方式获得相同的结果,这实际上取决于您的应用程序设计
require([“dojo/parser”,“dijit/form/NumberSpinner”])代码>
var dojoConfig={
parseOnLoad:true,
是的,
};
我的荣幸:)++@GibboK看起来我设置的值是正确的。我对“dijit/form/HorizontalSlider”使用了相同的方法,并且工作没有任何问题。我想知道为什么我在尝试设置'dijit/form/NumberSpinner'的值时会收到错误消息。我确保“this”在范围内。@Mackey请发布一个代码的工作示例,在其中您再现了错误,我们将进行查看:)不幸的是,没有看到代码,我们无法真正调试与c.advice相关的错误。apply@GibboK我发现错误来自与同一个“数据dojo连接点”相关的另一个函数。非常感谢你@麦基,不客气。请考虑接受或投票表决的答案使用蜱/向上的图标在其左侧。感谢并愉快地编码:)@bRIMOs非常感谢您的编辑。不客气:)由于“数据dojo连接点”对我不起作用,我尝试了您的建议“注册表”。但是,我仍然收到相同的错误。请发布您正在处理的代码以获得更好的可视性。错误来自另一个共享相同“数据dojo连接点”的函数。不过,我学会了使用“注册表”在dijit小部件中设置值。非常感谢你!很好:),所以如果这有助于将答案标记为已解决✓ (留下答案)(如图=>)谢谢