Como eu mudo o dataset de um campo zoom de acordo com o valor do checkbox?
Bom dia Diego, Você pode utilizar o evento .change do jQuery para verificar se o checkbox foi marcado ou não e a partir daí utilizar a função reloadZoomFilterValues() para atualizar os dados que serão apresentados no seu zoom.
$("#chk").change(function () {
if ($('#chk').is(":checked")) {
reloadZoomFilterValues("nome_do_campo_de_zoom_que_receberá_o_filtro", "campo_a_ser_filtrado," + selectedItem["valor_que_ira_filtrar"]);
}else{
reloadZoomFilterValues("nome_do_campo_de_zoom_que_receberá_o_filtro", "campo_a_ser_filtrado," + selectedItem["valor_que_ira_filtrar"]);
}
});
Abraço!
Editando:
Esse é meu HTML, o dataset ds_tipoSolicitacao também vem de um formulário.
<div class="col-sm-4">
<div class="form-group">
<label for="txtTipo">Tipo de Serviço</label>
<input
type="zoom"
id = "tipoSolicitacao"
name="tipoSolicitacao"
data-zoom="{
'displayKey':'txtDescricao',
'datasetId':'ds_tipoSolicitacao',
'maximumSelectionLength':'1',
'placeholder':'Escolha o tipo de serviço',
'fields':[
{
'field':'id',
'label':'ID'
},{
'field':'txtDescricao',
'label':'Descrição',
'standard':'true'
}
]
}"
/>
</div>
</div>
Ele sempre é recarregado baseado na troca do elemento de outro Zoom. Esse é o custom.js
function setSelectedZoomItem(selectedItem) {
if (selectedItem.inputId == "departamentoDestino") {
var groupId = selectedItem.groupId;
$('#setorDestino').val('Pool:Group:'+groupId);
window['tipoSolicitacao'].clear();
reloadZoomFilterValues("tipoSolicitacao", "departamento,"+selectedItem["groupId"]);
}
}
function removedZoomItem(removedItem) {
if (removedItem.inputId == "departamentoDestino") {
window['tipoSolicitacao'].clear();
window['transferencia'].clear();
}
}
vlw, vou testa depois.
meu dataset é personalizado, então não funciona
Você criou seu dataset utilizando o filtro pelas constraints?
não, vem de um formulario
Acredito que seja só questão de ajustar o filtro.
Vou Editar minha resposta e adicionar um modelo que eu uso.
Desculpa amigo mais não ficou claro pra mim kkkk, sou iniciante. No caso vc usou só um campo zoom e depensendo da primeira seleção ele vai recarregar outro dataset pra fazer a segunda seleção?
no caso eu teria que ter 3 dataset ? o primeiro que seria o tipo de da seleção e outros que serias as seleções de acordo com o tipo escolhido certo ?
se poder me ajudar agradeço kkkkk estou perdido vlw
este campo zoom vem de uma tabela pai e filho