Dojo dijit.form.FilteringSelect没有在IE8中设置值

时间:2013-01-22 12:46:02

标签: internet-explorer select dojo

在Dojo dijit.form.FilteringSelect小部件上执行以下代码时,IE8存在问题。执行下面的代码时,我没有收到错误消息,它只是没有设置值。它适用于Chrome和Firefox,但不是IE8。有任何想法如何解决这个问题?

dijit.byId(“tracking_system_select_id”)。set(“value”,7);

3 个答案:

答案 0 :(得分:0)

我知道Dojo Selects与数值不兼容:

  

为了获得最佳效果,只能使用dijit / form / Select与商品的标识为字符串。

http://dojotoolkit.org/documentation/tutorials/1.8/selects_using_stores/

我不知道FilteringSelect是否有相同的限制,但可能需要尝试。

答案 1 :(得分:0)

好的,现在我调用以下内容来设置值,我将它从7改为“7”:

dijit.byId("tracking_system_select_id").set("value", "7");

然后我调用以下内容来测试值是什么:

console.log("Main.trackingSystemId: " + dijit.byId("tracking_system_select_id").get("value"));
                        console.log("Main.trackingSystem: " + dijit.byId('tracking_system_select_id').attr('displayedValue'));

var test = dijit.byId('tracking_system_select_id').get('value');
if (typeof test === 'string'){
    console.log('typeof string');
} else if (typeof(test === 'number')){
    console.log('typeof number');
} else {
    console.log('typeof unknown');
}

并收到的日志条目是:

日志:Main.trackingSystemId:
日志:Main.trackingSystem:
日志:typeof string

我还在创建FilteringSelect时添加了.startup()。从数字标识符更改为字符串标识符没有任何区别。数据存储中的标识符值也是字符串,因此我没有字符串来解决数字问题。

答案 2 :(得分:0)

好的,所以这就是我找到的。我尝试创建一个dijit.form.FilteringSelect框并在创建时设置其默认值,它可以在Firefox和Chrome中使用,但不再是在IE8或IE9中。我要放弃并接受它在IE中不起作用。

如果Dojo修复此问题会很好。