Domanda

Ho un po 'di semplice realizzato con xajax, che sostituisce il codice HTML innner di un controllo di selezione con alcune opzioni create da uno script PHP.

Questo è bene e dandy in Firefox, ma non funziona in IE7.

Guardando sul forum xajax ho trovato questo che in pratica dice "realmente non lavorare in IE, utilizzare un div e sostituire il codice HTML interno che con la piena istruzione select "

Ha fatto questo, ed è bene, tranne che ho avuto un selettore jQuery lavorando sul controllo di selezione, che ora non funziona più.

Chiunque ha ottenuto tutte le idee, o qualcuno mi può puntare a un buon jQuery esempio di come fare il bit ajax utilizzando jQuery, quindi posso fosso il xajax del tutto?


EDIT:

<div id=imgselect>
  <select id="images">
   <option value="">Then select an image</option>
  </select>
</div>


Picture Preview:<br><br>

 <div class="img-preview" id='preview'></div>
 <script type='text/javascript'>
   $('#images').change(function() 
   {
     var image = $(this).val();
     var img = $('<img/>').attr('src', image);
    $('#preview').html(img);

    document.getElementById('picsmall').value = image;
    });
</script>

Il problema nasce quando il contenuto del imgselect div è sostituita dalla chiamata AJAX

È stato utile?

Soluzione

Questa è ora risolto utilizzando il

$objResponse->script

comando

Per ragioni di completezza e se qualcuno vuole vedere in futuro, ho la pagina originale configurato come sopra:

<div id=imgselect>
  <select id="images">
    <option value="">Then select an image</option>
  </select>
</div>

poi nel mio file php xajax ho

function getphotos()
{
    $objResponse = new xajaxResponse();
        //this include assigns all the options to the select controll into the $output var
    include "photos.photosselect.php";
    $objResponse->assign("imgselect", "innerHTML", "$output");
    $objResponse->script("$('#images').change(function() {var image = $(this).val(); var img = $('<img/>').attr('src', image); $('#preview').html(img); document.getElementById('picsmall').value = image;});");
    return $objResponse;
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top