Javascript 将Web服务结果呈现到传单

Javascript 将Web服务结果呈现到传单,javascript,jquery,asp.net,web-services,web,Javascript,Jquery,Asp.net,Web Services,Web,我正在ASP.NET中构建一个解决方案,该解决方案将数据呈现到传单Java映射平台的一个实例上。在初始加载时,将创建一个过程并执行SQL query,然后将结果传递给映射-这很好 当我尝试使用下拉列表使其动态化时,问题就开始了,下拉列表利用jQuery来监听它们的变化。这样做的想法是,当发生这种情况时,下拉列表中的值会被获取(插入到初始化时使用的同一查询中,并将该查询的结果输出到地图),但它无法渲染 以下是我在下拉列表中的代码: $("#MainContent_DropDownL

我正在ASP.NET中构建一个解决方案,该解决方案将数据呈现到传单Java映射平台的一个实例上。在初始加载时,将创建一个过程并执行SQL query,然后将结果传递给映射-这很好

当我尝试使用下拉列表使其动态化时,问题就开始了,下拉列表利用jQuery来监听它们的变化。这样做的想法是,当发生这种情况时,下拉列表中的值会被获取(插入到初始化时使用的同一查询中,并将该查询的结果输出到地图),但它无法渲染

以下是我在下拉列表中的代码:

        $("#MainContent_DropDownList1").change(function () {

            $.ajax({
                url: "services/AJAXMapping.asmx/GetNewData",
                dataType: "text",
                type: "POST",
                cache: false,
                data: { species: $(this).val() },
                error: function (err) {
                    alert("Error: " + err.responseText.toString())
                },
                success: function (data) {


                    $("#testarea").html(data);

                    geojson.clearLayers();

                    geojson = L.geoJson((test), {
                        style: choroStyle,
                        onEachFeature: onEachFeature
                    }).addTo(map);

                }
            });
        });
    });
Web服务只调用初始化时使用的相同方法,并将其作为字符串返回。为了确保返回的geoJSON是正确的,我让jQuery将返回的内容放在页面上的一个DIV中,如果我将其复制并粘贴到解决方案中的一个javascript文件中并进行渲染,它就可以正常工作

有人知道是什么导致了这一切吗?这是最后一步-相信我,我会在这里绊倒的:\

非常感谢,


Terry Gooding

只需将更改事件绑定到.live或.delegate

$(document).delegate("#MainContent_DropDownList1", "change", function (event) {
               //your code
            });

尝试了上述操作,但映射仍然没有使用新数据更新自身:\n上述代码的意思是geojson=L.geojson((数据){