在AJAX加载的DIV中运行javascript

时间:2010-06-17 16:08:47

标签: php javascript ajax

我有页面加载,通过AJAX将PHP页面加载到div。

反过来,这个加载的页面有自己的javascript和AJAX加载div。

原因是允许用户选择数据>改变加载数据中的数据。我试图在没有JSON帮助的情况下这样做,以便在JS和PHP之间进行通信。

我猜父调用页面已经加载了javascript,并且加载了AJAX的内容无法访问? (我已尝试将JS运行到AJAX加载的内容中)如果是这样,那么无论如何都可以访问它吗?

这是我在主页面上的JS,它通过AJAX加载另一个页面。它是正在使用的jQuery UI滑块,因为我写这个我意识到无法应用于加载的内容。但是,即使这些脚本都包含在加载的页面中,问题仍然没有加载: -

<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.2.custom.min.js"></script>
<script type="text/javascript" src="js/selectToUISlider.jQuery.js"></script>
<link rel="stylesheet" href="css/redmond/jquery-ui-1.7.1.custom.css" type="text/css" />
<link rel="Stylesheet" href="css/ui.slider.extras.css" type="text/css" />
<style type="text/css">
    fieldset { border:0; margin: 2em; height: 8em;} 
    label {font-weight: normal; font-size: 10px; float: left; margin-right: .5em; font-size: 1.1em;}
    select {margin-right: 1em; float: left;}
    .ui-slider {clear: both; top: 5em;}
</style>
<script type="text/javascript">
function readOut(IDin) {
if(IDin != '') { var ID = IDin; }
var myRequest = new ajaxObject('loader.php');
myRequest.update('tits=bumblebee&ID=' + ID);
myRequest.callback = function(responseText) {
document.getElementById('loader').innerHTML = responseText;
}
}

    $(function(){

        //demo 3
        $('select#valueAA, select#valueBB').selectToUISlider({
            sliderOptions: {
                change: function(readOut) {
                    var from = document.getElementById('valueAA').value;
                    var to = document.getElementById('valueBB').value;

                    var ID = document.getElementById('IDp').value;
                    var myRequest = new ajaxObject('tester.php');
                    myRequest.update('tits=bumblebee&ID=' + ID + '&from=' + from + '&to=' + to);
                    myRequest.callback = function(responseText) {
                    document.getElementById('elementId').innerHTML = responseText;
                    }
                }
            },
            labels: 12
        });

    });
</script>

1 个答案:

答案 0 :(得分:0)

你已经在那里使用了一些jQuery。如果您使用jQuery .html()函数将HTML填充到容器中,那么jQuery将在其中找到您的<script>标记并运行它们。但是,如果您自己设置innerHTML,浏览器将不会为您执行此操作。