0

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

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

4

3 回答 3

0

我知道 Dojo Selects 不适用于数值:

为获得最佳结果,仅将 dijit/form/Select 与项目标识为字符串的商店一起使用。

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

我不知道 FilteringSelect 是否有同样的限制,但这可能是值得尝试的。

于 2013-01-22T13:27:46.970 回答
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');
}

收到的日志条目是:

LOG: Main.trackingSystemId:
LOG: Main.trackingSystem:
LOG: typeof string

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

于 2013-01-22T17:31:25.177 回答
0

OK, so here is what I found. I tried creating a dijit.form.FilteringSelect box and setting its default value at the time of creation and it works in Firefox and Chrome, but once again not in IE8 or IE9. I'm going to give up and accept that it doesn't work in IE.

Would be nice if Dojo fixed this.

于 2013-01-22T19:33:38.343 回答