Проблемы jQuery Clone - PullRequest
       4

Проблемы jQuery Clone

0 голосов
/ 27 апреля 2011

Может кто-нибудь проверить это и сказать мне, что не так ... Я просто не вижу этого:

function getStates(){
var stateData;

$.getJSON("getStateData.php", function(data) {
    stateData = data;
    var theLastGroup = "";

    $("#groupList").empty();
    $("#stateList").empty();

    $.each(stateData, function(i,jsonData) {
        if( theLastGroup != jsonData.groupName )
        {
            $("#listModel").clone(true).removeAttr("id").attr("id", "Group_" + i).removeClass("hidden").appendTo($("#groupList"))
                .find(".url").attr("href", "#"+jsonData.groupName).end()
                .find(".groupName").html(jsonData.groupID);

            $("#groupModel").clone(true).removeAttr("id").removeClass("hidden").attr("id", jsonData.groupName).appendTo($("#stateList"));
        }


        $("#stateModel").clone(true).removeAttr("id").attr("id", jsonData.stateName).removeClass("hidden").appendTo($("#"+jsonData.groupName))
            .attr("sname", jsonData.stateName).attr("lat", jsonData.centerLat).attr("lon", jsonData.centerLon)
            .attr("zom", jsonData.zoom).html(jsonData.stateName);

        if( theLastGroup != jsonData.groupName )
        {
            theLastGroup = jsonData.groupName;
        }
    });
    $("#tabs").tabs();
});

}

... и HTML, который в итоге вызывает getStates () выше:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<title>My Page</title>

<link href="js_src/css/cupertino/jquery-ui-1.8.11.custom.css" rel="stylesheet" type="text/css"/>

<script type="text/javascript" src="http://maps.google.com/maps/api/js?libraries=geometry&sensor=false"></script>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.11/jquery-ui.js"></script>

<script type="text/javascript" language="javascript" src="js_src/geoxml3.js"></script>
<script type="text/javascript" language="javascript" src="js_src/CTR.js"></script>
<script type="text/javascript" language="javascript" src="js_src/common.js"></script>
<script type="text/javascript" language="javascript" src="js_src/mapNull.js"></script>
<script type="text/javascript" language="javascript" src="js_src/functions.js"></script>

<style type="text/css">
    div.hidden {display:none;}
    li.hidden {display:none;}
    span.hidden {display:none;}
</style>
</head>
<ul>
    <li id="listModel" class="hidden"><a class="url"><span class="groupName"></span></a></li>

    <div id="groupModel" class="hidden"></div>
    <span id="stateModel" class="hidden" sname="name" lat="0.0" lon="0.0" zom="7"></span>
</ul>

<body>
<h4>MyPage</h4>
<div id="tabs" style="height:100px" class="hidden">
    <h5>select a state...</h5>

    <ul id="groupList"></ul>
    <div id="stateList"></div>
</div>

<div id="map" style="float:left;"></div>

</body>
</html>

Функция getStates () вызывается из скрипта mapNull.js при загрузке страницы ...

Есть идеи?

1 Ответ

0 голосов
/ 27 апреля 2011

Эта часть вашего кода находится между </head> и <body> .... т. Е. Вне тега <body>:

<ul>
    <li id="listModel" class="hidden"><a class="url"><span class="groupName"></span></a></li>

    <div id="groupModel" class="hidden"></div>
    <span id="stateModel" class="hidden" sname="name" lat="0.0" lon="0.0" zom="7"></span>
</ul>

Поместить его внутрь <body> было бы хорошим первым шагом к созданию этой работы:)

...