改变CurrencyTextBox货币的诀窍是什么?

时间:2015-07-16 21:34:36

标签: dojo

我有一个CurrencyTextBox,我将货币设置为默认货币。用户可以通过在同一表单上选择货币下拉菜单来更改它。我以为我可以动态更改文本框上的货币属性,但没有任何反应。符号不会改变。是否有一些技巧可以使这项工作?我已经看到了必须销毁和重新创建小部件的相关帖子。好像有可能有更好的方法吗?

我想将unitCostId小部件的货币设置为用户选择的货币。结果是货币符号将改变以匹配新选择的货币。

  new CurrencyTextBox ({
        id: "unitCostId",
        name: "price",  
        currency: "USD",
        required: true,
        value: "",
        placeHolder: "Enter Price"
    }, "unitCostNode");
----------------------------------------------------
  new Select({
        id: "currencyOptionsId",
        name: "currency_code",
        value: "USD",
        options: currencyOptions,
        required: true,
        onChange: function(val) {
           var currency_id = this.get("value");
           registry.byId("unitCostId").set("currency",this.get("value");
        // registry.byId("unitCostId").reset();
         }
        }, "currencyNode");

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

不幸的是,currency属性没有setter逻辑,并且记录为常量。但是,由于底层代码的工作原理,您仍然可以通过constraints设置来更改它:

registry.byId("unitCostId").set("constraints", { currency: this.get("value") });