如何更改 dojo 中 checkedmultiSelect 小部件中的消息?

How to change the message in checkedmultiSelect widget in dojo?

我正在使用 dojo 小部件 CheckedMultiSelect,如何将消息“0 项已选择”更改为其他消息(例如:Prefrences)。

var select =   new CheckedMultiSelect({
        dropDown: true,
        labelText: 'States',
        multiple: true,
        name: 'state',
        onChange: getValues,
        required: true
    }, "stateSelect");

标签文本是通过 Dojo 的 i18n 系统设置的。为单个 select 框覆盖它的最简单方法是直接修改用于设置标签的资源:

select._nlsResources.multiSelectLabelText = 'foo';

您可以通过使用加载程序映射覆盖用于 CheckBoxMultiSelect 小部件的 nls 资源来全局修改资源。在加载 dojo.js:

之前修改您的 dojoConfig(或设置一个)
<script>
    var dojoConfig = {
        // ...
        map: {
            '*': {
                'dojox/form/nls/CheckedMultiSelect': 'myApp/someModule'
            }
        },
        // ...
    }
</script>
<script src="wherever/dojo.js"></script>

模块 myApp/someModule 应遵循 Dojo nls 资源的格式,并在 root 下包含与原始 CheckedMultiSelect nls 文件相同的键:

define({
    root: {
        multiSelectLabelText: 'foo',
        // ...
    }
});