1

使用しようとしたjQuerymobileを使用して動的リスト内に動的リストを作成しようとしてitem.On("click", callGroups);いますが、関数に引数を渡すことができませんでした。jQuerymobile1.3とjquery1.8を使用しています

これは私のajaxコードです

<script type="text/javascript" type="text/javascript">


        $(document).ready(function () {

            Greating();
        });

        //  $(document).on('pageinit', function () {
       function callGroups(ID)
       {
       $("#"+ID).append("<ul><li> first</li><li>second item</li> </a></li> ");


       }

        function Greating() {

            $.ajax({

                type: "POST",
                url: "CarService.asmx/GetAllsections",
                data: "{}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (response) {

                    var sections = response.d;
                    $('#page_body').append("<div data-role='page' id= 'ssaadd'><div>");
                    $.mobile.initializePage();

                    $.each(sections, function (index, section) {

                        //  asd = "listsec" + section.secId;
                        $("#theList").append("<li> <a id = '"+section.secId+"' ><img src='pic/" + section.SecImg + "'> <br /> " + section.SecName + '   ' + section.SecArbName + " <br />" + section.SecArbDiscr + "").on("click", callGroups();


                    });



                    console.log(response);
                },

                error: function (response) {
                    $("#theList").append("<li>error<li>");

                    console.log(response);
                }
            });
        }
    </script>

動的リスト内に動的リストを作成するにはどうすればよいですか?

4

2 に答える 2

2

追加メソッドが間違っています。新しく追加されたのではなく、ループ内にclickイベントハンドラーを追加しています。appendToメソッドを使用してコードを変更できます。#theListli

$("<li> <a id = '"+section.secId+"' ><img src='pic/" + section.SecImg + "'> <br /> " + section.SecName + '   ' + section.SecArbName + " <br />" + section.SecArbDiscr + "").appendTo('#theList').on("click", callGroups);

そして、CallGroupsをに変更します

function callGroups(ID) {
    $(this).append("<ul><li> first</li><li>second item</li> </a></li> ");
}
于 2013-03-17T11:49:10.747 に答える
0

これが私がこのコードを試した答えですそしてそれは働いています

 $.each(sections, function (index, section) {

                        var asd = section.SecName;
                        $("#theList").append("<li id='" + asd + "'>  <img src='pic/" + section.SecImg + "'> <br /> " + section.SecName + '   ' + section.SecArbName + " <br />" + section.SecArbDiscr + "");
                        $("#"+asd).append("<ul><li >  <img src='pic/" + section.SecImg + "'> <br /> " + section.SecName + '   ' + section.SecArbName + " <br />" + section.SecArbDiscr + "</li></ul></li>");
                    });
于 2013-03-17T18:11:20.913 に答える