Buon pomeriggio a tutti.
Dopo aver fatto la ricerca, i risultati li visualizzo nella pagina dedicata.
In questa pagina, ho un menu laterale dove sono riportati tutti gli argomenti trattati nel sito, ma con la particolarità, che, dopo la ricerca, vengono spuntate soltanto quelle checkbox riferiti agli argomenti dove è stata trovata quella parola.
Ora, cosa mi serve, che se l'utente decide di togliere la spunta alla checkbox, la pagina rifà la query escludendo dalla ricerca quell'argomento.
In parte ci sono riuscito nel modo seguente:
codice:
function setFocusRicerca(cerca,table_name,ckd,idCkd){
let text = "<?php echo $_GET['tb'];?>";
const tabelle = text.split(",");
const arrtabelle = text.split(",");
if($("#"+table_name).not(':checked').length){
//delete tabella dopo unchecked
delete tabelle[idCkd];
//in questo modo vado a togliere quella virgola, ottenendo l'array, e quindi l'url pulito
var arr = tabelle;
arr = $.grep(arr, n => n == 0 || n);
window.location = "ricerca.php?words="+cerca+"&tb="+arr;
return;
}else{
//add tabella dopo checked
//vado a riposizionare l'elemento precedentemente eliminato, al suo posto
arrtabelle.splice(idCkd, 0, table_name);
window.location = "ricerca.php?words="+cerca+"&tb="+arrtabelle;
return;
}
}
Ma mi sono accorto che, se tolgo la spunta alla prima check, e poi rispunto la stessa, funziona, e cosi via soltanto per le prime 3 checkbox.
Dalla terza/quarta in poi, non funziona più.
Nello script, trovate qualche anomalia che io non vedo?
Grazie.