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
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;
}