我有一个在Dojo中创建的选择和一个可以重命名'选定的选项,但是我在更改选择下列出的选项的标签时遇到问题。
我尝试了几件事:
var selectDropdown = registry.byId("stateSelect");
selectDropdown.updateOption({
value : currentId, // the existing ID to update
label : this.new_name
});
selectDropdown.reset();
不会更改标签。
selectDropdown.set("displayedValue", this.new_name);
selectDropdown.reset();
即使,也不起作用
selectDropdown.get("displayedValue");
打印出我想要更改的旧标签。
修改 这是我如何创建选择并向其添加项目...
var select = new Select({
name : "stateSelect",
}, "stateSelect");
select.addOption({
value : 0,
label : "test"});
答案 0 :(得分:0)
您可以结合使用.get('selectedOptions')
和.updateOption()
:
require(['dijit/form/Select'], function(Select) {
var select = new Select({
name : "stateSelect"
}, "stateSelect");
select.addOption({
value : 0,
label : "test 0"
});
select.addOption({
value : 1,
label : "test 1"
});
select.addOption({
value : 2,
label : "test 2"
});
changeBtn.onclick = function() {
select.get('selectedOptions').label = (new Date()).toString();
select.updateOption(select.get('selectedOptions'))
}
});
<script src="//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js"></script>
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/resources/dojo.css">
<link rel="stylesheet" type="text/css" href="http://ajax.googleapis.com/ajax/libs/dojo/1.10.4/dijit/themes/tundra/tundra.css">
<div class="tundra">
<div id="stateSelect"></div>
<button id="changeBtn">change selected to current date</button>
</div>