在jQuery对话框中添加print dijit

时间:2013-08-20 13:30:12

标签: javascript jquery button dojo dialog

我正在尝试在用户单击链接时将esri print dijit添加到对话框中。我遇到的问题是抛出一个错误,例如“无法调用方法toLowerCase undefined。我不确定发生了什么或为什么会发生这种情况。当我注释掉printInfo时,地图和图例渲染得很好很快,当我尝试将其放回代码时,调用未定义错误的小写方法,我被卡住了

这里我正在设置我的地图然后调用print dijit

    function init(type, vid) {        

    map = new esri.Map("mapDiv", {
        basemap: "gray",
        sliderStyle: "large",
        center: [-95.625, 39.243],
        nav: false,
        logo: false,
        zoom: 7
    });//end base map

    dojo.connect(map, "onLoad", function () {
        console.log("base and feature layers added");
        $(document).ready();
    });  //end dojo.connect

    var upDateEnd = dojo.connect(fl, "onUpdateEnd", function () {
        dojo.disconnect(upDateEnd);

        var printInfo = esri.request({
            "url": app.printUrl,
            "content": { "f": "json" }
        });
        printInfo.then(handlePrintInfo, handleError);
    });//end update       

    drawFeatureLayer();               
}//end init function

这是我打开打开对话框的地方,它打开地图div并显示隐藏的地图图例

    function openBox(v) {
    $("#mapDiv").dialog({
        autoOpen: false,
        height: 600,
        width: 900,
        title: "Map Profile"
    });

    $("#mapDiv").dialog("open");
    $("#legend").show();              
}//end open box

以下是打开地图的HTML:

<div id="maps" >
<div id="mapDiv" style="height:550px; width:475px; display:block;">

    <div id="print_button"></div>
        <div id="legend" style=" position:absolute; bottom:25px; z-index:100; display:none;" >        
            <ul style="list-style-type:none;">
                <li> 2-4</li>
                <li> 5-7</li>
                <li> 7-10</li>                                                 
            </ul>
        </div>
</div>   

0 个答案:

没有答案