Вопрос

У меня есть немного простого кода, созданного с помощью XAJAX, который заменяет внутренний HTML элемента управления select некоторыми параметрами, созданными с помощью PHP-скрипта.

Это нормально и отлично в Firefox, но не работает в IE7.

Просматривая форумы XAJAX, я нашел этот который в основном говорит: «На самом деле не работает в IE, используйте div и замените его внутренний HTML на полный оператор выбора»

Сделал это, и все в порядке, за исключением того, что у меня был селектор jQuery, работающий с элементом управления select, который теперь больше не работает.

У кого-нибудь есть какие-нибудь идеи, или может ли кто-нибудь указать мне на хороший пример jQuery того, как выполнить бит ajax с помощью jQuery, чтобы я мог вообще отказаться от XAJAX?


РЕДАКТИРОВАТЬ:

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

Проблема возникает, когда содержимое imgselect div заменяется вызовом AJAX

Это было полезно?

Решение

Теперь это решается с помощью

$objResponse->script

команда

Для полноты картины и на случай, если кто-то захочет увидеть это в будущем, у меня есть исходная страница, настроенная, как указано выше:

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

тогда в моем php-файле xajax у меня есть

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;
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top