Javascript 为什么我的函数不运行<;对象>;

Javascript 为什么我的函数不运行<;对象>;,javascript,php,html,Javascript,Php,Html,在index.php中,我运行了两次函数,其中包括chart.html index.php chart_line($valuesNight); //run function for the first time chart_line($valuesEvening); //run function for the second time ?> <?php function chart_line($jsonDataSource){ ?>

index.php
中,我运行了两次函数,其中包括
chart.html

index.php

chart_line($valuesNight);     //run function for the first time
chart_line($valuesEvening);   //run function for the second time
?>
<?php function chart_line($jsonDataSource){ ?>
                <div>
    <script type="text/javascript">

        var dataSource = JSON.parse('<?php echo $jsonDataSource ?>');
        var dValues = new Array;
        var dTimeDate = new Array;

        for(var o in dataSource) {
            dValues.push(dataSource[o]['dValue']);
            dTimeDate.push(dataSource[o]['dTimeDate']);
        }
        console.log('dValues', dValues);
        // store values
        sessionStorage.setItem('myValues', JSON.stringify(dValues));
        sessionStorage.setItem('myTime', JSON.stringify(dTimeDate));

    </script>     //include chart.html
            <object type="text/html" data="chart.html" width="100%"  height="420"></object>
                </div>
        <?php } ?>
控制台按以下顺序执行:

console.log('dValues', dValues); // from index.php  - night values
    // HERE SHOUD EXECUTE CONSOLE FROM CHART.HTML
console.log('dValues', dValues); // from index.php  - evening values

console.log('myTime', myTime);      // from chart.html  - evening values
console.log('myValues', myValues);  // from chart.html  - evening values
console.log('myTime', myTime);      // from chart.html  - evening values
console.log('myValues', myValues);  // from chart.html  - evening values

临时解决方案,但有效:

//for valuesNight
$(function () {
    $('#container1').
//...
<div id="container1">

//for valuesEvening
$(function () {
    $('#container2').
//...
<div id="container2">
//对于valuesNight
$(函数(){
$(“#容器1”)。
//...
//为了增值
$(函数(){
$(“#容器2”)。
//...

也许您应该尝试用
$(文档)替换
$(函数(){
)。就绪(函数{
。可能是在创建容器div之前执行了函数。我认为应该在定义内联代码之前加载外部脚本。@steven
$(函数()
$(document)的缩写。ready(function()
你真的确定@DamienPirsy吗?它不是立即执行吗?你正在chart.html中加载jquery吗?在这个例子中,我看不到它,没有jquery,
$(function()…)
就不能运行。还有一点需要注意:
var dataSource=JSON.parse(“”);
可以更改为
var dataSource=;
,JSON是Java脚本对象表示法,如果您的意思是
include(),它直接是有效的JS(如果不是,那么JSON.parse仍将抛出)
case这是因为
#container
-您不能有两个具有相同
id
-包含在同一html/js范围内的节点(具有
对象
就像在iframe中一样)
//for valuesNight
$(function () {
    $('#container1').
//...
<div id="container1">

//for valuesEvening
$(function () {
    $('#container2').
//...
<div id="container2">