0

私は 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>
4

2 に答える 2