0

I'm kinda new to jQuery/HTML5 stuff, so I'm running into some problems. Hope you can help.

I'm loading a local json file and want to add the items of it to a list. This works just fine. But, the list is not using the jQuery styling?

I tried it without loading the json file and instead I put the data directly in the code and it worked. What might be my problem?

Here is the code which does not style correct:

<!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>

And here is the code which gives me the correct styling

<!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>
4

2 回答 2

2

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

$("ul").listview("refresh");
于 2013-07-31T11:06:01.003 回答
0

你能给我们提供instruction.js的内容吗

尝试这个 :

$.getJSON("institute.js",function(data) {
            $.each(data,function(i,el)
于 2013-07-31T10:49:26.760 回答