.jQuery对话框中的.load脚本

时间:2013-03-18 23:11:48

标签: jquery-ui jquery

您好我正在尝试加载脚本以使用JQuery在对话框中创建一些图表。

在我看来,当我使用Chrome Tools检查时,我在对话框中有一个部分准备和等待:

<div id="mydialog">
    @Html.Partial("_fooChart", "Home")
</div>

然后我在点击时触发了对话框,对话框打开但是它是空白的。如果您使用Chrome工具检查它,您可以看到部分中的元素。 (元素不包含内容,该函数将根据id创建内容。)

这是对话框:

$(function () {

    $('#mydialog').dialog({
        autoOpen: false,
        height: 800,
        width: 800,
        resizable: false,
        open: function () {
            $('#mydialog').load($('#mydialog'), function () {
                fooChartLoad()
            });
        },
        title: 'Foo Chart',
        modal: true,
        buttons: {
            "Close": function () {
                $(this).dialog("close");
            }
        }
    });

    $('#my-button').click(function () {
        $('#mydialog').dialog("open")
    });
});

以下是我要加载的脚本:

function fooChartLoad() {
    setTimeout(function () {
        createFooChart();
        $('#fooChartContainer').bind("kendo:skinChange", function (e) {
            createFooChart();
        });
    }, 200);
}

基本上我正在试图找出为什么当我用open打开对话框时没有加载fooChartLoad - &gt;在JQuery对话框中加载函数。

1 个答案:

答案 0 :(得分:0)

我试图在.load之前部分填充对话框HTML来调用可以呈现数据视觉效果的脚本,但是当我在下面同时加载部分和脚本时,它会显得更好:< / p>

    open: function () {
        $('#fooChartDialog').load($('#fooChartDialog').data('url'), function () {
            fooChartLoad()
        });