Como eu mudo o dataset de um campo zoom de acordo com o valor do checkbox?
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.
— Diego Pereira de Assis 22 de Aug de 2018meu dataset é personalizado, então não funciona
— Diego Pereira de Assis 05 de Sep de 2018Você criou seu dataset utilizando o filtro pelas constraints?
— Kanaãm Luz Romero Rodrigues 05 de Sep de 2018não, vem de um formulario
— Diego Pereira de Assis 05 de Sep de 2018Acredito que seja só questão de ajustar o filtro. Vou Editar minha resposta e adicionar um modelo que eu uso.
— Kanaãm Luz Romero Rodrigues 06 de Sep de 2018