jQuery appendTo列表样式

时间:2013-07-31 10:36:04

标签: javascript jquery html json list

我是jQuery / HTML5的新手,所以我遇到了一些问题。希望你能帮忙。

我正在加载一个本地json文件,并希望将它的项添加到列表中。这很好用。但是,列表没有使用jQuery样式?

我在没有加载json文件的情况下尝试了它,而是将数据直接放在代码中并且工作正常。可能是我的问题?

以下代码的样式不正确:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>tuBS Energie App</title>
    <link href="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.css" rel="stylesheet"/>
    <link href="http://code.jquery.com/mobile/1.3.0/jquery.mobile.structure-1.3.0.min.css" rel="stylesheet"/>
    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script>   

</head>
<body>
    <div id="tasksPage" data-role="page">
        <div data-role="header" data-position="fixed">
            <a href="#" data-role="button">Zurück</a>
            <h1>tuBS Energie App</h1>
        </div>

        <div data-role="content">
            <h3>Institut für Nachrichtentechnik</h3>
            <ul id="taskList" data-role="listview" data-filter="true" data-filter-placeholder="Suche nach Institut..." data-inset="true"></ul>
        </div>

        <div data-role="footer" data-position="fixed">
            <a href="#" data-role="button">Info</a>
        </div>

    </div>

    <script type="text/javascript" charset="utf-8">
            $(function() 
            {
                $(document).ready(function(){
                    $.getJSON("institute.js",function(data) {
                       $.each(data.institute,function(i,el){
                           $("<li><a href='#'>"+el.id+". "+el.name+"</a> </li>").appendTo("#taskList");
                       });
                    });
                });
            })
    </script> 
</body>
</html>

这是代码,它给了我正确的样式

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>tuBS Energie App</title>
    <link href="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.css" rel="stylesheet"/>
    <link href="http://code.jquery.com/mobile/1.3.0/jquery.mobile.structure-1.3.0.min.css" rel="stylesheet"/>
    <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script>   

</head>
<body>
    <div id="tasksPage" data-role="page">
        <div data-role="header" data-position="fixed">
            <a href="#" data-role="button">Zurück</a>
            <h1>tuBS Energie App</h1>
        </div>

        <div data-role="content">
            <h3>Institut für Nachrichtentechnik</h3>
            <ul id="taskList" data-role="listview" data-filter="true" data-filter-placeholder="Suche nach Institut..." data-inset="true"></ul>
        </div>

        <div data-role="footer" data-position="fixed">
            <a href="#" data-role="button">Info</a>
        </div>

    </div>

    <script type="text/javascript" charset="utf-8">
            var institute_json = 
            [
               {"id":"1","name":"Adaptronik und Funktionsintegration"},
               {"id":"2","name":"Analysis und Algebra"},
               {"id":"3","name":"Angewandte Mechanik"},
               {"id":"4","name":"Angewandte Physik"},
               {"id":"5","name":"Anorganische und Analytische Chemie"},
               {"id":"6","name":"Architekturbezogene Kunst (IAK)"},
               {"id":"7","name":"Automobilwirtschaft u Industrielle Produktion"},

            ];

            $.each(institute_json,function(i,el)
            {
                $("<li><a href='#'>"+el.id+". "+el.name+"</a></li>").appendTo("#taskList");
            });
    </script> 
</body>
</html>

2 个答案:

答案 0 :(得分:2)

当您向列表视图动态添加元素时,渲染后需要刷新它。

$("ul").listview("refresh");

答案 1 :(得分:0)

您能否向我们提供institute.js的内容

试试这个:

$.getJSON("institute.js",function(data) {
            $.each(data,function(i,el)