Pergunta

Eu tenho um pouco de simples criado com XAJAX, que substitui o HTML innner de um controle de seleção com algumas opções criadas por um script php.

Esta é fino e elegante no Firefox, mas ele não funciona no IE7.

Olhando nos fóruns xajax i encontrados este que diz basicamente "doesnt realmente trabalho no IE, usar um div e substituir o HTML interno do que com a instrução SELECT completa "

Essa, e é bom, exceto que eu tinha um seletor jQuery trabalhando no controle de seleção, que trabalha agora mais não.

Alguém tem alguma idéia, ou alguém pode me aponte para um bom exemplo jQuery de como fazer o ajax bits usando jQuery, para que eu possa largar o XAJAX completamente?


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>

O problema surge quando o conteúdo do imgselect div é substituída pela chamada AJAX

Foi útil?

Solução

Este já está resolvido usando o

$objResponse->script

comando

Por uma questão de exaustividade e se alguém quer ver no futuro, eu tenho a página original definido como acima:

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

, em seguida, no meu arquivo xajax php Tenho

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;
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top