gpt4 book ai didi

javascript - 如何使用dojo在select中设置当前值和名称?

转载 作者:行者123 更新时间:2023-12-02 22:51:31 25 4
gpt4 key购买 nike

我创建一个名称和ID为m Select的函数:

function loadDataFiltrosTipoFunc(Memory) {
var statusStoreMotivo = new Memory({
data: [
{ name: "Todos", id: 0 },
{ name: "Cobrança", id: 1 },
{ name: "Aniversariantes", id: 2 }
]
});
dijit.byId("pesqFuncMotivo").store = statusStoreMotivo;
dijit.byId("pesqFuncMotivo").set("value", TODOS);
};

致电创建新注册时,请向我显示表单中的选项。

我的问题是调用 "Edit"时,我将ID保存在注册表中,但是我无法设置值名称并在“编辑”中显示要更改的其他选项。

我做了这个: (代码中有我的问题的注释有更多详细信息)
function EditarMensagem(itensSelecionados) {
try {
// first i check if any iten is selected (ItensSelecionados)
// If is ckeked and no has value show message ask to select only one
// else, if is selected only one and has value continue
if (!hasValue(itensSelecionados) || itensSelecionados.length == 0)
caixaDialogo(DIALOGO_AVISO, 'Selecione um registro para Editar.', null);
else if (itensSelecionados.length > 1)
caixaDialogo(DIALOGO_ERRO, 'Selecione apenas um registro para Editar.', null);
else {

// Here i Check the value of the select and put the name
// I don´t shure if is the best way
if (itensSelecionados[0].motivo = 0) {
var motivo = "Aniversariantes";
}
if (itensSelecionados[0].motivo = 1) {
var motivo = "Cobrança";
}

// Here in 'tipoSmsCompor' is my Select.
// I try put the var motivo,
// but don´t set the name, and don´t show the other options of the list
// declared in the function loadDataFiltrosTipoFunc(Memory)
// How I can set the current value and name in the select and the other option to the user can change?
dijit.byId( 'tipoSmsCompor' ).attr( 'value', itensSelecionados[0].motivo);
dijit.byId("dc_assunto").set("value", itensSelecionados[0].mensagem);
dijit.byId("cad").show();
IncluirAlterar(0, 'divAlterarMensagem', 'divIncluirMensagem', 'divExcluirMensagem', '', 'divCancelarMensagem', 'divClearMensagem');
}

} catch (e) {
postGerarLog(e);
}
}

如何在select中设置当前值和名称,以及如何更改用户的其他选项?

我想设置返回值,并在 funcion loadDataFiltrosTipoFunc中显示另一个选项,但要返回值。

谢谢大家

最佳答案

通过使用Select的set方法直接设置值

在下面的代码段中,我通过selectRegistry设置了更改的值。 (过一会儿)

require([
'dojo/store/Memory',
'dojo/data/ObjectStore',
'dijit/form/FilteringSelect',
'dijit/registry',
'dojo/domReady!'
], function(Memory, ObjectStore, Select, Registry) {

var statusStoreMotivo = new Memory({
data: [
{ name: "Todos", id: 0 },
{ name: "Cobrança", id: 1 },
{ name: "Aniversariantes", id: 2 }
]
});

var select = new Select({
}, 'select');

select.set("store",statusStoreMotivo);
select.set("value", 1);

setTimeout(function(){
Registry.byId("select").set("value", 2)
}, 3000 );

});
<link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/dojo/1.12.1/dijit/themes/claro/claro.css" />

<script>
window.dojoConfig = {
parseOnLoad: false,
async: true
};
</script>


<script src="//ajax.googleapis.com/ajax/libs/dojo/1.12.1/dojo/dojo.js"></script>

<body class="claro">
<div id="select"></div>
</body>

关于javascript - 如何使用dojo在select中设置当前值和名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60228760/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com