Passaggio codice html a javascript

vasomik

Nuovo Utente
14 Mar 2017
31
0
6
Ciao a tutti,

devo passare del codice html a jQuery tramite php.
Faccio l'esempio concreto.

Tramite l'interrogazione del DB creo il codice html di una select e lo metto in una variabile. Il contenuto di questa variabile devo portarlo nel codice javascript. Quello che fa il codice jQuery è replicare la select, su righe diverse. Posto del codice per una più semplice comprensione:
la variabile PHP $SelectMezzi contiene questo codice:
Codice:
<div><select name="RimborsoBiglietti[]" onchange="RimborsoBiglietti(this)"><option value="Vuoto">Vuoto %</option><option value="Treno">Treno 10 %</option><option value="Nave">Nave 10 %</option><option value="Aereo">Aereo 5 %</option><option value="Pedaggio Autostradale">Pedaggio Autostradale 0 %</option><option value="Autolinea">Autolinea 0 %</option><option value="Metro">Metro 0 %</option><option value="Taxi">Taxi 0 %</option><option value="Mezzo Proprio Aut.">Mezzo Proprio Aut. 0 %</option><option value="Mezzo Proprio NA">Mezzo Proprio NA 0 %</option><option value="Eccedenza Bagaglio">Eccedenza Bagaglio 0 %</option><option value="Altro">Altro 0 %</option></select></div>

Codice:
$(document).ready(function() {

    var max_fields      = 200;

    var wrapper         = $(".containerRimborsi");

    var add_button      = $(".add_form_field_rimborsi");

    var SelectMezzi = "<?php json_encode($SelectMezzi); ?>";

    var x = 1;

    $(add_button).click(function(e){

        e.preventDefault();

        if(x < max_fields){

            x++;

            $(wrapper).append('SelectMezzi'); //add input box

        }

  else

  {

  alert('You Reached the limits')

  }

    });

 

    $(wrapper).on("click",".delete", function(e){

        e.preventDefault(); $(this).parent('div').remove(); x--;

    })

});

Quando provo il codice jQuery premendo il tasto per la generazione della nuova select a video ottengo la scritta SelectMezzi.

Qualcuno sa aiutarmi?

vasomik
 

linoma

Utente Attivo
1 Mar 2017
93
4
8
Se appendi la stringa SelectMezzi a wrapper. Tra l'altro la tua var SelectMezzi contiene un array json invece di una stringa HTML
 

linoma

Utente Attivo
1 Mar 2017
93
4
8
Codice:
$(wrapper).append('SelectMezzi');

con questa riga appendi la scritta SelectMezzi non la tua variabile SelectMezzi. E tra l'altro la tua variabile SelectMezzi contiene un array JSON e se nn erro jQuery non usa JSON per l'inserimento di HTML, usa o una stringa HTML o un array di nodi HTML
 

vasomik

Nuovo Utente
14 Mar 2017
31
0
6
Codice:
$(wrapper).append('SelectMezzi');

con questa riga appendi la scritta SelectMezzi non la tua variabile SelectMezzi. E tra l'altro la tua variabile SelectMezzi contiene un array JSON e se nn erro jQuery non usa JSON per l'inserimento di HTML, usa o una stringa HTML o un array di nodi HTML
Ok, chiaro, ma a questo punto non so come recuperare la variabile in modo che tale codice mi renda la select.
Se nella riga sopra metto il codice html viene regolarmente eseguito, quando cerco di passare la variabile php, che contiene lo stesso codice, il risultato è differente.
 

linoma

Utente Attivo
1 Mar 2017
93
4
8
Intanto invece di 'SelectMezzi' usa solo SelectMezzi. Poi nella variabile SelectMezzi devi mettere tanti tags <option></option> quanti sono appunto le opzioni da inserire nella select. Poi se $(wrapper) è la tua select invence di append devi usare html. Altrimenti devi postare il tuo codice html
 

vasomik

Nuovo Utente
14 Mar 2017
31
0
6
Intanto invece di 'SelectMezzi' usa solo SelectMezzi. Poi nella variabile SelectMezzi devi mettere tanti tags <option></option> quanti sono appunto le opzioni da inserire nella select. Poi se $(wrapper) è la tua select invence di append devi usare html. Altrimenti devi postare il tuo codice html

Ciao,

ho provato a fare le prove con le indicazioni che mi hai dato ma non riesco a tirarci fuori le gambe.
Ricapitoliamo, il codice che ho postato nel primo messaggio funziona perfettamente se questa riga è statica
Codice:
$(wrapper).append('<div><select name="RimborsoBiglietti[]" onchange="RimborsoBiglietti(this)"><option value="Treno">Treno 10%</option><option value="Nave">Nave 10%</option><option value="Aereo">Aereo 5%</option><option value="Autolinea">Autolinea 0%</option><option value="Metro">Metro 0%</option><option value="Taxi">Taxi 0%</option><option value="MPA">Mezzo Proprio Aut.</option><option value="MPNA">Mezzo Proprio NA</option><option value="EccedenzaBagablio">Eccedenza bagaglio 0%</option><option value="Altro">Altro 0%</option></select>&nbsp;&nbsp;<input type="text" name="PercRimborso[]" size="3" maxlength="3" onchange="RimborsoBiglietti(this)"> % a carico privati <input type="checkbox" name="BigliettoCaricoPrivati[]" onchange="RimborsoBiglietti(this)" value="SI" /> Importo <input type="text" name="ImportoBiglietto[]" size="7" onchange="RimborsoBiglietti(this)" > € Spettanza (Importo + %) <input type="text" name="RimborsoSpettante[]" size="7" > € <a href="#" class="delete">Cancella</a></div>'); //add input box

Io voglio, invece, renderla dinamica prendendo i dati dal DB (perché in futuro le voci potrebbero aumentare), caricando il codice html in una variabile php, $SelectMezzi, appunto. Questo è il codice con il quale creo l'html che passo alla variabile.
Codice:
$SelectMezzi = "<div><select name=\"RimborsoBiglietti[]\" onchange=\"RimborsoBiglietti(this)\">";

for ($i=1; $i<=count($ARR_Mezzi);$i++)

{

$SelectMezzi .= "<option value=\"$ARR_Mezzi[$i]\">$ARR_Mezzi[$i]" ." " ."$ARR_PercRimb[$i] %</option>";

}
$SelectMezzi .= "</select></div>";

Come si vede le voci vengono immagazzinate in un array e ciclandole in un for creo quello che mi serve.

Questo è il contenuto della variabile $SelectMezzi, stampata a video utilizzando htmlentities:
Codice:
<div><select name="RimborsoBiglietti[]" onchange="RimborsoBiglietti(this)"><option value="Vuoto">Vuoto %</option><option value="Treno">Treno 10 %</option><option value="Nave">Nave 10 %</option><option value="Aereo">Aereo 5 %</option><option value="Pedaggio Autostradale">Pedaggio Autostradale 0 %</option><option value="Autolinea">Autolinea 0 %</option><option value="Metro">Metro 0 %</option><option value="Taxi">Taxi 0 %</option><option value="Mezzo Proprio Aut.">Mezzo Proprio Aut. 0 %</option><option value="Mezzo Proprio NA">Mezzo Proprio NA 0 %</option><option value="Eccedenza Bagaglio">Eccedenza Bagaglio 0 %</option><option value="Altro">Altro 0 %</option></select></div>

Spero tu o qualsiasi altro utente possa darmi la soluzione.
Se serve altro codice chiedete pure!!

vasomik
 

linoma

Utente Attivo
1 Mar 2017
93
4
8
Dovrebbe andare meglio se cambi questa riga e usi nel codice php ' invece di "
Codice:
var SelectMezzi = "<?php json_encode($SelectMezzi); ?>";

in

Codice:
var SelectMezzi = "<?php echo $SelectMezzi; ?>";

e usi questa riga

Codice:
$(wrapper).append(SelectMezzi);
 
Ultima modifica:

vasomik

Nuovo Utente
14 Mar 2017
31
0
6
Dovrebbe andare meglio se cambi questa riga e usi nel codice php ' invece di "
Codice:
var SelectMezzi = "<?php json_encode($SelectMezzi); ?>";

in

Codice:
var SelectMezzi = "<?php echo $SelectMezzi; ?>";

e usi questa riga

Codice:
$(wrapper).append(SelectMezzi);

Ciao,

ho fatto come mi hai indicato, riporto il codice:

PHP (con gli apici ')
Codice:
$SelectMezzi = '<div><select name=\"RimborsoBiglietti[]\" onchange=\"RimborsoBiglietti(this)\">';
for ($i=1; $i<=count($ARR_Mezzi);$i++)

{

$SelectMezzi .= '<option value=\"$ARR_Mezzi[$i]\">$ARR_Mezzi[$i]" ." " ."$ARR_PercRimb[$i] %</option>';

}
$SelectMezzi .= '</select></div>';

JAVASCRIPT (senza json_encode)
Codice:
$(document).ready(function() {

    var max_fields      = 200;

    var wrapper         = $(".containerRimborsi");

    var add_button      = $(".add_form_field_rimborsi");

    var SelectMezzi = '<?php echo $SelectMezzi; ?>';


    var x = 1;

    $(add_button).click(function(e){

        e.preventDefault();

        if(x < max_fields){

            x++;

           
        $(wrapper).append(SelectMezzi);

        }

  else

  {

  alert('You Reached the limits')

  }

    });

 
    $(wrapper).on("click",".delete", function(e){

        e.preventDefault(); $(this).parent('div').remove(); x--;

    })

});

Il risultato è migliore, la select viene creata ma i suoi valori all'interno sono:

Codice:
$ARR_Mezzi[$i]" ." " ."$ARR_PercRimb[$i] %
 
Discussioni simili
Autore Titolo Forum Risposte Data
P Nascondere codice html o oggetti al passaggio del mouse HTML e CSS 4
M Passaggio variabili array php su un tasto jq PHP 3
F Consigli passaggio a nuova piattaforma CMS (Content Management System) 0
F Consigli passaggio a nuova piattaforma SEO e Posizionamento 3
MarcoGrazia Metodi static e passaggio di variabili PHP 1
M Passaggio Valori checbox in textarea Javascript 1
Barierta Testo a comparsa con passaggio del mouse Javascript 17
N Problema passaggio variabili tra pagine PHP 4
P Passaggio id php a javascript PHP 6
M errore dopo passaggio Php 7.2 PHP 6
M Passaggio da una pagina php ad un altra PHP 0
P Passaggio di parametro al metodo: public void run() Java 3
T script jquery non funziona più dopo il passaggio a MVC jQuery 5
R passaggio variabili tra modulo genitore a figlio jQuery 3
J Passaggio variabile tra 2 file php PHP 15
zorro [PHP] passaggio di variabili PHP 7
Z Passaggio php 5.6 a php 7 PHP 1
B [Visual Basic] Passaggio variabili da un progetto all'altro (Visual Studio 2017 C#/SQL) Visual Basic 0
R [PHP] Testo su immagine al passaggio del mouse PHP 2
andreas88 Problema installazione passaggio 2 Magento Magento 0
gandalf1959 Passaggio da mysql a mysqli PHP 13
C Redirect passaggio a https Web Server 1
K [PHP] Passaggio Variabili Senza Refresh Di Pagina PHP 1
A Problema nel passaggio di una animazione da flash a animate Flash 9
S [HTML] Div visibile o nascosto al passaggio del mouse HTML e CSS 3
C [RISOLTO][PHP] Passaggio variabili senza refresh di pagina PHP 7
elpirata [PHP] Passaggio da webapp online a webapp offline PHP 2
V [Javascript] Passaggio valore da popup a pagina madre Javascript 5
G [HTML] Variazione di posizione di un tag <a> a passaggio del mouse di un altro tag <a> HTML e CSS 12
ESABOT Problema passaggio dati tra activity tramite intent Sviluppo app per Android 1
F [ASP] passaggio parametri form metodo post Classic ASP 6
3_g passaggio sito da ASP a PHP PHP 9
elpirata [PHP] Passaggio di dati tra variabili PHP 1
A Problema con getCurrentPosition e passaggio variabili da javascript a PHP Javascript 3
T Passaggio dati con ajax ad altra pagina Ajax 6
WebDr [ASP] Passaggio di variabili in un link tra apici ed & Classic ASP 5
M Passaggio valore da una pagina PHP all'altra tramite ajax Ajax 1
T [PHP] Passaggio dati sensore con ajax e exec, lento! PHP 0
P [HTML] Passaggio Url tramite Form non funziona più HTML e CSS 8
Gaetano1991h Passaggio da calendario php a javascript PHP 2
A [Javascript] La larghezza del video player, diminuisce nel passaggio dal primo video ai successivi Javascript 0
E passaggio da procedurale a oop PHP 0
G [PHP] Problema nel passaggio del valore mese PHP 8
localhost.nicola Passaggio array tramite ajax Ajax 3
P Session e cookie funzionano solo dopo passaggio valori tramite POST PHP 8
P aiuto...passaggio variabile Javascript 1
gandalf1959 passaggio variabili da form dopo verifiche: tutte meno una!?!? Javascript 4
M Passaggio variabile PHP 4
T Fermare setInterval e riprendere al passaggio del mouse. Javascript 2
G passaggio di una variabile da javascript a un valore di input Javascript 5

Discussioni simili