Welcome to the LimeSurvey Community Forum

Ask the community, share ideas, and connect with other LimeSurvey users!

Autocomplete con file csv - Domande in un unica pagina

More
6 years 4 months ago #160718 by AlCor
Salve a tutti
mi rivolgo per la prima volta a questo forum ed anticipo che, giusto per mettere le mani avanti ( :) ) non conosco molto i meandri di javascript e di jquery, ma con un po' di pazienza e l'aiuto dei workaroud sono riuscito a risolvere il mio problema: in una domanda (Regione, con codifica da 1 a 20) richiedo la regione di residenza, nell'altra incollo il codice qui sotto (paro paro al workaround) e magicamente mi carica il file con i soli comuni della Regione selezionata (20 file csv caricati in un modello personale).

<script type="text/javascript" charset="utf-8">
$(document).ready(function() {
var qID = {QID};
var surveyRoot=location.pathname.split('index.php')[0];
var url=surveyRoot+'upload/templates/Al001/csv/r{Regione.code}.csv';
var testArr = new Array();
$.get(url,function(data){
fullArray = $.csv.toArrays(data);
$(fullArray).each(function(i, item){
testArr.push(item[0]);
});

$('#question'+qID+' input.text').autocomplete({
source: testArr
});
});
});
</script>

Lo script funziona, ma quando imposto l'indagine su "Visualizza tutte le domande su una sola pagina" (e sono costretto a farlo...), lo script non funziona più. Se ho ben capito il motivo, leggendo sui vari forum, è che lo script viene caricato con la pagina, ed ovviamente la domanda Regione non è ancora valorizzata. Mi servirebbe qualcosa che mi faccia caricare lo script solo dopo che è stata valorizzata la regione. Ho fatto qualche timida prova con l'istruzione "focus" sulla domanda "comune" (carica lo script solo quando entro nel campo "comune", perciò Regione è valorizzata), ma il tutto è al di là delle mie conoscenze...

Qualcuno mi potrebbe dare un suggerimento? Oppure dirmi se il ragionamento che ho fatto è sbagliato...


Grazie per l'attenzione
Alessandro
The topic has been locked.
More
6 years 4 months ago #160757 by lfanfoni
Ho l'impressione che questa soluzione faccia più al tuo caso, sostituendo il filtro di provincia con quello di regione come serve a te:
www.limesurvey.org/forum/can-i-do-this-w...te-external-csv-file

Se mi vuoi contattare, non mandare messaggi privati qui, bensì scrivi a lfanfoni at gmail.com
Per le livestream in italiano vai su: www.youtube.com/playlist?list=PLOSjjxAG9...SiiCsSz_JxIH7xJwLdPd
Le soluzioni LimeSurvey per l'Italia si trovano su: github.com/lfanfoni
The topic has been locked.
More
6 years 4 months ago #160759 by AlCor
Grazie mille, vado a studiare...

Un saluto
A.
The topic has been locked.
More
6 years 4 months ago #160761 by lfanfoni
Comunque stavo giusto ragionando con un collega che secondo me ha poco senso fare un autocomplete del comune scegliendo prima la regione o la provincia o qualsiasi altra cosa. I nomi ufficiali dei comuni italiani sono univoci, e al massimo ci potrsti mettere in fondo una sigla della provincia, quindi forse il csv potrebbe essere unico per tutte le regioni, e non avresti il problema della scelta

Se mi vuoi contattare, non mandare messaggi privati qui, bensì scrivi a lfanfoni at gmail.com
Per le livestream in italiano vai su: www.youtube.com/playlist?list=PLOSjjxAG9...SiiCsSz_JxIH7xJwLdPd
Le soluzioni LimeSurvey per l'Italia si trovano su: github.com/lfanfoni
The following user(s) said Thank You: AlCor
The topic has been locked.
More
6 years 4 months ago #160762 by AlCor
FUNZIONA!!!
Certo, non ho capito un acca dello script inserito, ci perderò un bel po' di sonno.

Grazie mille...
...soprattutto perché non avevo pensato a cercare nel forum in inglese.
A.
The topic has been locked.
More
6 years 4 months ago #160770 by lfanfoni
Se tutti postassero qui le soluzioni trovate adattate alle nostre problematiche italiane, come nel caso dell'automplete sui comuni italiani, sarebbe tutto più facile.
Magari un contributo puoi darlo anche tu, raccontandoci qui per iscritto come hai risolto e il modo per implementare la soluzione

Se mi vuoi contattare, non mandare messaggi privati qui, bensì scrivi a lfanfoni at gmail.com
Per le livestream in italiano vai su: www.youtube.com/playlist?list=PLOSjjxAG9...SiiCsSz_JxIH7xJwLdPd
Le soluzioni LimeSurvey per l'Italia si trovano su: github.com/lfanfoni
The topic has been locked.
More
6 years 3 months ago #161769 by AlCor
Come correttamente suggerito, provo a condividere con gli altri del forum in italiano la strada che ho preso rispetto al suggerimento precedentemente fornito.

La mia esigenza era di avere una domanda sulla regione di residenza (su cui avevo quote regione x sesso x classe di età da rispettare e mi serviva quindi la regione nella consueta forma di lista/radio button) e di lavorare con tutte le domande su un unica pagina.

Dai suggerimenti forniti nel forum sarebbe stata prevista un'ulteriore domanda sulla provincia e la successiva sul comune, tutt'e due con autocomplete, ma mi sembrava una cosa troppo pesante per i rispondenti. Tra l'altro, se la provincia non viene scritta regolarmente, l'istruzione di select sulla provincia non popola correttamente l'autocomplete dei comuni e, a cascata, niente codici di provincia e comune.

Riconosco che la soluzione è forse più macchinosa dell'ottima indicazione fornita, ma è maggiormente rispondente alle mie necessità, che potrebbero essere anche quelle di qualcuno di voi.

Per lavorare correttamente, il file di gruppo che allego (chiamato "Socio demo") deve poter richiamare, dal template creato per l'indagine, il file "jquery.csv.js" ed il file "Comuni2017.csv", versione aggiornata dell'elenco comuni di Istat.
Per mia abitudine ho usato come separatore dei campi del csv il ";", per cui anche il "jquery.csv.js" che utilizzo è stato configurato le usare il ";".
Chi volesse lasciare intatto il proprio jquery.csv dovrà banalmente aprire "Comuni2017.csv" e sostituire tutti i ";" con la ",".

Nel file di gruppo non viene mai richiamato apertamente "jquery.csv.js" in quanto ho modificato i file del template personalizzato per fare la chiamata "a monte" (dentro startpage.pstpl).

Nel file di gruppo allegato ho lasciato anche una proposta di ricodifica in automatico della classe di età partendo dall'anno di nascita. Anche questo, che si risolve abbastanza agevolmente se lavoro con una domanda per pagina, quando ho tutto su una pagina mi creava qualche problema (ma magari sbagliavo qualcosa). Ho lasciato anche questa proposta perché qualunque suggerimento su come migliorarlo sarà per me ben accetto.

Un saluto a tutti
A.
The following user(s) said Thank You: lfanfoni
The topic has been locked.

Lime-years ahead

Online-surveys for every purse and purpose