我用XAJAX创建了一个简单的示例,它用php脚本创建的一些选项替换了select控件的内部HTML。

这在Firefox中很好用,但在IE7中不起作用。

在XAJAX论坛上查看时,我发现this基本上说“在IE中不真正起作用,请使用div并将其内部HTML替换为完整的select语句”

做到了这一点,这很好,除了我在选择控件上使用了jQuery选择器,该选择器现在不再起作用。

任何人都有任何想法,或者谁能给我指出一个很好的jQuery示例,说明如何使用jQuery做Ajax,因此我可以完全放弃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>


然后在我的xajax php文件中

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

10-04 22:14