Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Aiuto funzione js su pagina con jquery mobile

    ciao a tutti, premetto che sto iniziando a cimentarmi nel mondo js in particolare jquery mobile, vi scrivo perchè ho un problema:
    ho creato uno script in js all'interndo di una pagina jquerymobile che all'evento onchange di una select me ne crea un altra uguale
    il problema è
    1): se visualizzo la pagina con un browser desktop lo script funziona ma jquerymobile non riconosce il codice e nn mi applica lo stile (praticamente mi appare una select nuda e cruda senza lo stile mobile
    2) addirittura se visualizzo la pagina con safari mobile lo script non funziona e all'evento onchange non succede nulla

    il codice è questo:
    codice:
    <script type="text/javascript"> 
    function gestisciMenu (sel) { 
    var step=parseInt(sel.substring(sel.indexOf("-")+1)); 
    var newlabel=document.createElement("label"); 
    newlabel.setAttribute("for", "select-"+(step+1)); 
    newlabel.setAttribute("class", "select ui-select"); 
    newlabel.innerHTML="Scegli"; 
    var newselect=document.createElement("select"); 
    newselect.name="select-"+(step+1); 
    newselect.id="select-"+(step+1); 
    newselect.setAttribute("onchange", "gestisciMenu(this.name)"); 
    var option=document.createElement("option"); 
    option.innerHTML="PIPPO"; 
    newselect.appendChild(option); 
    option=document.createElement("option"); 
    option.innerHTML="PIPPO"; 
    newselect.appendChild(option); 
    option=document.createElement("option"); 
    option.innerHTML="PLUTO"; 
    newselect.appendChild(option); 
    option=document.createElement("option"); 
    option.innerHTML="PAPERINO"; 
    newselect.appendChild(option); 
    document.getElementById('selects').appendChild(newlabel);
    document.getElementById('selects').appendChild(newselect); 
    } 
    </script>
    codice:
    <div id="selects" data-role="fieldcontain"> 
    <label for="select-1" class="select">Shipping method:</label> 
    <select name="select-1" id="select-1" onchange="gestisciMenu(this.name)"> 
    <option value="standard">Standard: 7 day</option> 
    <option value="rush">Rush: 3 days</option> 
    <option value="express">Express: next day</option> 
    <option value="overnight">Overnight</option> 
    </select> 
    </div>
    mi sapere aiutare? grazie

  2. #2
    se vi interessa ho risolto cosi:

    <div id="selects" data-role="fieldcontain">
    <label for="last" class="select">scegli personaggio:</label>
    <select name="last" id="last">
    <option value="pippo">pippo</option>
    <option value="pluto">pluto</option>
    <option value="paperino">paperino</option>
    <option value="topolino">topolino</option>
    </select>
    </div>

    <script type="text/javascript">

    $("#last").live("change" , function() {
    var myselect = document.getElementsByTagName("select");
    var numselect = myselect.length;
    var oldid = "select-"+numselect;
    $('#last').attr('name',oldid);
    $('#last').attr('id',oldid);
    $('#last').selectmenu("refresh",true);
    $('#selects').append('<label for="last" class="select">scegli personaggio:</label><select name="last" id="last"><option value="pippo">pippo</option><option value="pluto">pluto</option><option value="paperino">paperino</option><option value="topolino">topolino</option></select>').trigger('create');
    });
    </script>

    lo script va messo in fondo alla pagina html dentro il body, in questo modo funziona

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.