设置dijit.form.Select小部件的值(选定选项)

时间:2010-02-07 04:50:43

标签: javascript dojo

我有一个dijit.form.Select小部件。如果重要的话,它与数据存储绑定在一起。它已经充满了几个选项。我想要的只是以编程方式设置其值。我可以使用myWidget.attr('value')来获取它的值但是如果我尝试myWidget.attr('value', 5)例如(其中5是有效值之一),它所做的就是重置小部件以选择第一个选项,no无论我给它什么价值。

这似乎是一个错误,并没有任何测试或文档显示如何实现我想要的。但有什么办法,即使这是一个肮脏的黑客?

我正在使用Dojo 1.4.0。请注意,dijit.form.Select是dojox.form.DropDownSelect的新名称。

编辑:我甚至尝试使用所有新选项重置窗口小部件,但它忽略了具有selected = true并且只选择第一个选项的选项。但仍然有办法。

3 个答案:

答案 0 :(得分:15)

即使您的值是整数,如果您将整数设置为字符串,那么这将有效。

dijit.byId( 'my_select' ).attr( 'value', String( 5 ) );

答案 1 :(得分:11)

原来这是一个错误 - 如果选项值不是字符串,它将不起作用(我的是整数)。

答案 2 :(得分:2)

重新发布我的评论: 这里有一个测试页面:dojo archive你可以搞砸。使用fire-bug我在该页面上成功使用了dijit.byId('s9')。attr('value','CO')。这将在该页面上设置“基于商店”的选择。

但正如你所说,我使用字符串设置它,你使用整数,所以我没有看到错误。好抓。