Visualizzazione risultati 1 fino 9 di 9

Discussione: Script non funziona se ci sono degli spazi vuoti

  1. #1
    bcprojects non è connesso Utente AlterBlog
    Data registrazione
    21-09-2017
    Messaggi
    46

    Predefinito Script non funziona se ci sono degli spazi vuoti

    Ho una pagina web dove cè una lista di opzioni selezionabili con il checkbox, e che tramite uno script vengono aggiunti o rimossi ad un'altra lista a parte (una specie di carrello acquisti). Il problema che mi si presenta è che se nei titoli delle opzioni ci sono degli spazi vuoti (ad esempio "Salsa Barbecue") una volta aggiunti non si riescono piu a rimuovere dalla lista. Per farlo funzionare correttamente dovrei scrivere "SalsaBarbecue"... come posso risolvere?

  2. #2
    L'avatar di darkwolf
    darkwolf non è connesso Super Moderatore
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,552

    Predefinito

    Usa lo spazio in html ovvero:  

    https://www.w3schools.com/html/html_entities.asp
    Ultima modifica di darkwolf : 02-10-2017 alle ore 00.49.06
    » Salvatore Noschese - L'AltroWeb | Seguimi su: facebook | twitter | Google+
    # Che aspetti? Unisciti alla community! Tanti nuovi gruppi ti aspettano


  3. #3
    bcprojects non è connesso Utente AlterBlog
    Data registrazione
    21-09-2017
    Messaggi
    46

    Predefinito

    non posso usare   poiche il titolo delle opzioni viene ricavato tramite una variabile php...

  4. #4
    L'avatar di darkwolf
    darkwolf non è connesso Super Moderatore
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,552

    Predefinito

    Basta fare una sostituzione
    str_replace(" ", " ", $stringa);

    Cioè, o aggiungi spazi con nbsp, o underscore, o trattini... O vai di base64 e simili.

    Ma senza codice e link di esempio diventa difficile.
    Ultima modifica di darkwolf : 02-10-2017 alle ore 02.43.07
    » Salvatore Noschese - L'AltroWeb | Seguimi su: facebook | twitter | Google+
    # Che aspetti? Unisciti alla community! Tanti nuovi gruppi ti aspettano


  5. #5
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,894

    Predefinito

    Wolf praticamente dovrebbe essere ID del database per gli attributi name e id di html (cioè dei caratteri validi e che non creino ambiguità con i selettori CSS)... http://forum.it.altervista.org/php-m...ml#post1356785
    Ultima modifica di darbula : 02-10-2017 alle ore 09.10.35

  6. #6
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,894

    Predefinito

    La citazione non era riferita all'ultimo messaggio... Si dan gli inizi avevo chiesto di usare ID del database, proprio per evitare inconvenienti... Prova a modificare la stringa del titolo che ricevi dal tuo database str_replace(' ', '\\\\',$stringa);
    Secondo me questo metodo è grezzo.. Non ti posto il codice completo solo per il problema della virgola mobile (prova nel value (0.7+0.1))

  7. #7
    bcprojects non è connesso Utente AlterBlog
    Data registrazione
    21-09-2017
    Messaggi
    46

    Predefinito

    comunque ho risolto con str_replace, grazie wolf!

  8. #8
    bcprojects non è connesso Utente AlterBlog
    Data registrazione
    21-09-2017
    Messaggi
    46

    Predefinito

    Un altra cosa... se io volessi stampare nella lista due valori separati come dovrei fare? Mi spiego... se io volessi far apparire il titolo dell'opzione con accanto il prezzo mi basta scrivere le due variabili una accanto all'altra ma vengono stampate entrambe con un unico elemento #result. Io vorrei fare in modo che vengano stampati separatamente titolo e prezzo in modo da poterli posizione all'interno della lista con float:left e float:right


    codice script:
    Codice HTML:
    <script>
      $(function () {
        $('.selectable_item').click(function() {
          var name = $(this).attr('name');
          var price = parseFloat($(this).val());
          var added_item_id = 'added_' + name; 
    	
          var sum_container = $('#sum');
          var sum = parseFloat(sum_container.html());
    	 
    		
          if ($(this).prop('checked')) {
            var item = $('<li/>').html(name).attr('id', added_item_id);
            item.appendTo($('#results'));
            sum_container.html(sum + price);
          }
          else {
            $('#' + added_item_id).remove();
            sum_container.html(sum - price);
          }
        });
      });
      </script>
    Ultima modifica di bcprojects : 03-10-2017 alle ore 14.50.15

  9. #9
    bcprojects non è connesso Utente AlterBlog
    Data registrazione
    21-09-2017
    Messaggi
    46

    Predefinito

    ciao ragazzi, risolto anche questo... potete chiudere grazie

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •