1// Filtros para casinos 2$(document).ready(function () { 3 4 5 $('#select-pais').selectize({ 6 onChange: function (value) { 7 8 // Accede al objeto 'item' para obtener el 'text' del elemento seleccionado 9 const selectedItem = this.options[value]; 10 11 var selectedText = ""; 12 if(selectedItem) { 13 selectedText = selectedItem.text; 14 } 15 16 17 // Borrar todos 18 removePaises(); 19 20 // Borrar todos 21 $( ".label.provincia-selected" ).each(function( index ) { 22 $(this).click(); 23 }); 24 25 $("#select-pais")[0].selectize.setValue(value); 26 27 // Obtén el valor actual del input hidden 28 const selectedPaisesInput = $('#selected-paises'); 29 30 // Divide el valor actual en un arreglo 31 const selectedPaisesArray = (selectedPaisesInput.val() != undefined && selectedPaisesInput.val() != '') ? selectedPaisesInput.val().split(',') : []; 32 33 // Verifica si el valor ya está en el arreglo 34 if (selectedPaisesArray.includes(value)) { 35 // Si ya está presente, se elimina 36 selectedPaisesArray.splice(selectedPaisesArray.indexOf(value), 1); 37 38 $(`.content-labels #pais-${value}`).remove(); 39 40 } else { 41 // Si no está presente, se agrega 42 selectedPaisesArray.push(value); 43 44 if(selectedText) { 45 $('.content-labels').append(`<div class="label pais-selected" id="pais-${value}"><p>${selectedText}</p></div>`); 46 47 } 48 } 49 50 // aqui vamos a hacer un llamado ajax para traer las provincias de este pais 51 var dataForm = ''; 52 var post_type = $('#posttype').val(); 53 dataForm += "&pais=" + value + "&post_type=" + post_type; 54 55 // En este punto ejecutamos la consulta de ajax 56 var data = 'action=searchProvincias' + dataForm; 57 58 $.ajax({ 59 type: 'POST', 60 cache: false, 61 url: ajaxurl, 62 data: data, 63 dataType: 'json', 64 beforeSend: function () { 65 $(".loading").show(); 66 }, 67 success: function (response) { 68 $(".loading").hide(); 69 70 71 72 // Nuevas opciones ptovincias ---------- 73 var selectize = $('#select-provincia')[0].selectize; 74 var nuevasOpciones = [ 75 ]; 76 77 78 $.each(response.dataProvincias, function(llave, valor) { 79 nuevasOpciones.push({value: llave, text: valor}); 80 }); 81 82 83 // Limpiar las opciones existentes y agregar las nuevas opciones 84 selectize.clearOptions(); 85 selectize.addOption(nuevasOpciones); 86 87 88 // Nuevas opciones Ciudades ---------- 89 var selectize = $('#select-ciudad')[0].selectize; 90 var nuevasOpciones = [ 91 ]; 92 93 $.each(response.dataCiudades, function(llave, valor) { 94 nuevasOpciones.push({value: llave, text: valor}); 95 }); 96 97 98 // Limpiar las opciones existentes y agregar las nuevas opciones 99 selectize.clearOptions(); 100 selectize.addOption(nuevasOpciones); 101 102 103 104 }, 105 error: function () { 106 $(".loading").hide(); 107 } 108 }); 109 110 // Actualiza el valor del input hidden con el nuevo valor 111 selectedPaisesInput.val(selectedPaisesArray.join(',')); 112 113 $('#busqueda-casinos').submit(); 114 $('#busqueda-salas').submit(); 115 $('#busqueda-maquinas').submit(); 116 }, 117 118 }); 119 120 $('#select-provincia').selectize({ 121 onChange: function (value) { 122 123 // Accede al objeto 'item' para obtener el 'text' del elemento seleccionado 124 const selectedItem = this.options[value]; 125 var selectedText = ""; 126 if(selectedItem) { 127 selectedText = selectedItem.text; 128 } 129 130 131 removeProvincias(); 132 133 $( ".label.ciudad-selected" ).each(function( index ) { 134 $(this).click(); 135 }); 136 137 // Obtén el valor actual del input hidden 138 const selectedProvinciasInput = $('#selected-provincias'); 139 140 141 142 // Divide el valor actual en un arreglo 143 const selectedProvinciasArray = (selectedProvinciasInput.val() != undefined && selectedProvinciasInput.val() != '') ? selectedProvinciasInput.val().split(',') : []; 144 145 146 // Verifica si el valor ya está en el arreglo 147 if (selectedProvinciasArray.includes(value)) { 148 // Si ya está presente, se elimina 149 selectedProvinciasArray.splice(selectedProvinciasArray.indexOf(value), 1); 150 151 $(`.content-labels #provincia-${value}`).remove(); 152 } else { 153 // Si no está presente, se agrega 154 selectedProvinciasArray.push(value); 155 if(selectedText) { 156 $('.content-labels').append(`<div class="label provincia-selected" id="provincia-${value}"><p>${selectedText}</p></div>`); 157 } 158 } 159 160 161 // aqui vamos a hacer un llamado ajax para traer las provincias de este pais 162 var dataForm = ''; 163 var post_type = $('#posttype').val(); 164 dataForm += "&pais=" + $('#selected-paises').val() + "&provincia=" + value + "&post_type=" + post_type; 165 166 // En este punto ejecutamos la consulta de ajax 167 var data = 'action=searchCiudades' + dataForm; 168 169 $.ajax({ 170 type: 'POST', 171 cache: false, 172 url: ajaxurl, 173 data: data, 174 dataType: 'json', 175 beforeSend: function () { 176 $(".loading").show(); 177 }, 178 success: function (response) { 179 180 181 // Nuevas opciones Ciudades ---------- 182 var selectize = $('#select-ciudad')[0].selectize; 183 var nuevasOpciones = [ 184 ]; 185 186 $.each(response.dataCiudades, function(llave, valor) { 187 nuevasOpciones.push({value: llave, text: valor}); 188 }); 189 190 191 192 // Limpiar las opciones existentes y agregar las nuevas opciones 193 selectize.clearOptions(); 194 selectize.addOption(nuevasOpciones); 195 196 197 198 }, 199 error: function () { 200 $(".loading").hide(); 201 } 202 }); 203 204 // Actualiza el valor del input hidden con el nuevo valor 205 selectedProvinciasInput.val(selectedProvinciasArray.join(',')); 206 $('#busqueda-casinos').submit(); 207 $('#busqueda-salas').submit(); 208 $('#busqueda-maquinas').submit(); 209 } 210 }); 211 212 $('#select-ciudad').selectize({ 213 onChange: function (value) { 214 // Accede al objeto 'item' para obtener el 'text' del elemento seleccionado 215 const selectedItem = this.options[value]; 216 217 var selectedText = ''; 218 if(selectedItem) { 219 selectedText = selectedItem.text; 220 } 221 222 removeCiudad(); 223 224 // Obtén el valor actual del input hidden 225 const selectedCiudadesInput = $('#selected-ciudades'); 226 227 // Divide el valor actual en un arreglo 228 const selectedCiudadesArray = (selectedCiudadesInput.val() != undefined && selectedCiudadesInput.val() != '') ? selectedCiudadesInput.val().split(',') : []; 229 230 // Verifica si el valor ya está en el arreglo 231 if (selectedCiudadesArray.includes(value)) { 232 // Si ya está presente, se elimina 233 selectedCiudadesArray.splice(selectedCiudadesArray.indexOf(value), 1); 234 235 $(`.content-labels #ciudad-${value}`).remove(); 236 } else { 237 // Si no está presente, se agrega 238 selectedCiudadesArray.push(value); 239 if(selectedText) { 240 $('.content-labels').append(`<div class="label ciudad-selected" id="ciudad-${value}"><p>${selectedText}</p></div>`); 241 } 242 } 243 244 // Actualiza el valor del input hidden con el nuevo valor 245 selectedCiudadesInput.val(selectedCiudadesArray.join(',')); 246 $('#busqueda-casinos').submit(); 247 $('#busqueda-salas').submit(); 248 $('#busqueda-maquinas').submit(); 249 } 250 }); 251 252 253 254 // Eliminar seleccionados 255 $(document).on('click', '.pais-selected', function () { 256 257 const selectedPaisesInput = $('#selected-paises'); 258 let value = $(this).attr('id'); 259 value = value.replace("pais-", ""); 260 261 const selectedPaisesArray = (selectedPaisesInput.val() != undefined && selectedPaisesInput.val() != '') ? selectedPaisesInput.val().split(',') : []; 262 263 selectedPaisesArray.splice(selectedPaisesArray.indexOf(value), 1); 264 265 selectedPaisesInput.val(selectedPaisesArray.join(',')); 266 267 $(`.content-labels #pais-${value}`).remove(); 268 269 270 271 $('#busqueda-casinos').submit(); 272 $('#busqueda-salas').submit(); 273 $('#busqueda-maquinas').submit(); 274 $("#select-pais")[0].selectize.setValue(""); 275}); 276 277 278$(document).on('click', '.provincia-selected', function () { 279 const selectedProvinciasInput = $('#selected-provincias'); 280 let value = $(this).attr('id'); 281 value = value.replace("provincia-", ""); 282 283 const selectedProvinciasArray = (selectedProvinciasInput.val() != undefined && selectedProvinciasInput.val() != '') ? selectedProvinciasInput.val().split(',') : []; 284 285 selectedProvinciasArray.splice(selectedProvinciasArray.indexOf(value), 1); 286 287 selectedProvinciasInput.val(selectedProvinciasArray.join(',')); 288 289 $(`.content-labels #provincia-${value}`).remove(); 290 291 292 $('#busqueda-casinos').submit(); 293 $('#busqueda-salas').submit(); 294 $('#busqueda-maquinas').submit(); 295 $("#select-provincia")[0].selectize.setValue(""); 296 297}); 298 299$(document).on('click', '.ciudad-selected', function () { 300 const selectedCiudadesInput = $('#selected-ciudades'); 301 let value = $(this).attr('id'); 302 value = value.replace("ciudad-", ""); 303 304 const selectedCiudadesArray = (selectedCiudadesInput.val() != undefined && selectedCiudadesInput.val() != '') ? selectedCiudadesInput.val().split(',') : []; 305 306 selectedCiudadesArray.splice(selectedCiudadesArray.indexOf(value), 1); 307 308 selectedCiudadesInput.val(selectedCiudadesArray.join(',')); 309 310 $(`.content-labels #ciudad-${value}`).remove(); 311 312 313 314 $('#busqueda-casinos').submit(); 315 $('#busqueda-salas').submit(); 316 $('#busqueda-maquinas').submit(); 317 $("#select-ciudad")[0].selectize.setValue(""); 318}); 319 320 321/* 322* Remover Paises 323* 324*/ 325function removePaises() { 326 327 $( ".pais-selected" ).each(function( index ) { 328 const selectedPaisesInput = $('#selected-paises'); 329 let value = $(this).attr('id'); 330 value = value.replace("pais-", ""); 331 332 const selectedPaisesArray = (selectedPaisesInput.val() != undefined && selectedPaisesInput.val() != '') ? selectedPaisesInput.val().split(',') : []; 333 334 selectedPaisesArray.splice(selectedPaisesArray.indexOf(value), 1); 335 336 selectedPaisesInput.val(selectedPaisesArray.join(',')); 337 338 $(`.content-labels #pais-${value}`).remove(); 339 340 341 }); 342 343 344} 345 346/* 347* Remover provincias 348* 349*/ 350function removeProvincias() { 351 352 $( ".provincia-selected" ).each(function( index ) { 353 const selectedProvinciasInput = $('#selected-provincias'); 354 let value = $(this).attr('id'); 355 value = value.replace("provincia-", ""); 356 357 const selectedProvinciasArray = (selectedProvinciasInput.val() != undefined && selectedProvinciasInput.val() != '') ? selectedProvinciasInput.val().split(',') : []; 358 359 selectedProvinciasArray.splice(selectedProvinciasArray.indexOf(value), 1); 360 361 selectedProvinciasInput.val(selectedProvinciasArray.join(',')); 362 363 $(`.content-labels #provincia-${value}`).remove(); 364 365 366 }); 367 368 369 370} 371 372 373/* 374* Remover provincias 375* 376*/ 377function removeCiudad() { 378 379 $( ".ciudad-selected" ).each(function( index ) { 380 const selectedCiudadesInput = $('#selected-ciudades'); 381 let value = $(this).attr('id'); 382 value = value.replace("ciudad-", ""); 383 384 const selectedCiudadesArray = (selectedCiudadesInput.val() != undefined && selectedCiudadesInput.val() != '') ? selectedCiudadesInput.val().split(',') : []; 385 386 selectedCiudadesArray.splice(selectedCiudadesArray.indexOf(value), 1); 387 388 selectedCiudadesInput.val(selectedCiudadesArray.join(',')); 389 390 $(`.content-labels #ciudad-${value}`).remove(); 391 392 }); 393 394 395} 396 397 398// Limpiar todos los filtros 399$(document).on("click","#limpiar-filtros-casinos",function() { 400 401 $('#limpiar-filtros-casinos').hide(); 402 403 removePaises(); 404 removeCiudad(); 405 removeProvincias(); 406 407 $("#select-pais")[0].selectize.setValue(""); 408 $("#select-provincia")[0].selectize.setValue(""); 409 $("#select-ciudad")[0].selectize.setValue(""); 410 411 412}); 413 414 415 416 417});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.