PageSourceSearch

https://www.cirsa.com/wp-content/themes/cirsaTheme/assets/js/scripts-selects.js?v=1790929858

js cirsa.com collected 2026-10-02 09:58:38 UTC 12,701 bytes, 417 lines download raw bytes

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.