0

コンソール ログに出力すると値が表示されますが、list.html 内の html ページに値が入力されていません。だから、要素がその前にロードされていることを確認する必要があると思いますか? アドバイスをいただければ幸いです。

html:

<script type="text/html" id="searchPickPlaceTemplate">
<div class="searchPickWhere_box">
    <ul data-inset="true">                             
        <li><a data-transition="slide" id="searchPickWhere" href="list.html">{{whereSearch}}</a></li>                             
     </ul>
 </div>

</p>

脚本:

 $('#restWhere').bind('touchstart mousedown', function (e) {                
            $.ajax({
                type: "POST",
                contentType: "application/json; charset=utf-8",
                url: WebServiceURL + "GetSuburbsWithPlacesAndCity",
                dataType: "json",
                data: "{'cityId':'" + cityId + "', 'categoryId': '" + categoryId + "'}",
                success: function (result) {
                    $("#searchPickPlace").html("");
                    $.each(result.d, function () {
                        $(document).ready(function () {
                            console.log('SubrubName asdfsd ' + this.name);
                            var test = $("#searchPickPlaceTemplate").text();
                            test = test.replace("{{whereSearch}}", this.name);
                            $("#searchPickPlace").append(searchPickRestaurnt);
                        });
                    });
                }
            });
        });
4

2 に答える 2

1

初め:

  1. 各ブロックから $(document).ready(function () { を削除します。それは機能しません。必要ありません。

  2. 次の行を置き換えます: $("#searchPickPlace").append(searchPickRestaurnt); これで $(".searchPickPlace").append(test); 間違った要素に間違ったものを追加していました。

これはあなたのコードの例です: http://jsfiddle.net/Gajotres/tJBGw/

したがって、次のようになります。

$('#restWhere').bind('touchstart mousedown', function (e) {                
        $.ajax({
            type: "POST",
            contentType: "application/json; charset=utf-8",
            url: WebServiceURL + "GetSuburbsWithPlacesAndCity",
            dataType: "json",
            data: "{'cityId':'" + cityId + "', 'categoryId': '" + categoryId + "'}",
            success: function (result) {
                $("#searchPickPlace").html("");
                $.each(result.d, function () {
                    console.log('SubrubName asdfsd ' + this.name);
                    var test = $("#searchPickPlaceTemplate").text();
                    test = test.replace("{{whereSearch}}", this.name);
                    $(".searchPickPlace").append(test);
                });
            }
        });
    });
于 2012-12-15T08:07:27.557 に答える
0

JavaScriptコードは常にhtmlbodyタグの直前に配置するようにしてください。例えば:

<body>
    your html code
    <script>
         // your js code
    </script>
</body>

または、jQueryドキュメント準備機能を使用します。すべての反復ではなく、1回だけ使用する必要があります。

ありがとうございました

于 2012-12-15T18:23:52.927 に答える