1

jqueryコードでdivタグに次のUlを動的に作成して名前と時間が異なるようにしたい。

データベースの名前と日付をjson形式で取得しており、Jqueryを使用してデータからメニューを作成したいと考えています。

    <div data-role="content">
                <ul data-role="listview" data-divider-theme="b" data-inset="false">
                    <li data-role="list-divider" role="heading"></li>
                    <li data-theme="c"><a data-transition="slide" onclick="javascript:navigation_message_details()">
                        Verinoff,James <span class="patient-list_txt2-red">04/13/2011 12:12</span></a>
                    </li>
                    <li data-theme="c"><a data-transition="slide" onclick="javascript:navigation_message_details()">
                        Parker,Tollin <span class="patient-list_txt2-yellow">04/13/2011 12:10</span> </a>
                    </li>
                    <li data-theme="c"><a data-transition="slide" onclick="javascript:navigation_message_details()">
                        Michael,John <span class="patient-list_txt2-green">04/13/2011 12:04</span></a>
                    </li>
                    <li data-theme="c"><a data-transition="slide" onclick="javascript:navigation_message_details()">
                        Jonah <span class="patient-list_txt2-yellow">04/13/2011 12:03</span></a> </li>
                    <li data-theme="c"><a data-transition="slide" onclick="javascript:navigation_message_details()">
                        Jaffee,Dillon <span class="patient-list_txt2-red">04/13/2011 12:02</span></a>
                    </li>
                    <li data-theme="c"><a data-transition="slide" onclick="javascript:navigation_message_details()">
                        Denny Stephen <span class="patient-list_txt2-blue">04/13/2011 12:01</span></a>
                    </li>
                </ul>
            </div>
4

2 に答える 2

2
$.each(json, function() {
   $("div[data-role=content] ul")
     .append(
        $("<li>").data('theme', 'c')
           .append($("<a>").data('transition', 'slide')
              .click(navigation_message_details)
              .text(this.name)
              .append($("<span>").addClass('patient-list_txt2-' + this.class)
                 .text(this.date)
              )
           )
        )
     ;
});

クラスの色がどこから来ているのかわからないので、json.

于 2012-12-14T14:59:16.797 に答える
0

次のコードを試してください。たとえば、これは json にすることができます (ajax サーバー呼び出しから取得します)。

var yourJson = { "data" : [{"name" : "Paolo", "dateTime" : "04/13/2011 12:01"}] };

そして、それを繰り返すことができます:

$.each(yourJson.data, function(i)
{
    var li = $('<li/>')
    .addClass('yourCssClass')
    .attr('data-theme', 'c')
    .appendTo(list);

    var aaa = $('<a/>')
    .html(yourJson.data[i].name + " <span class='patient-list_txt2-blue'>" + yourJson.data[i].dateTime + "</span>")
    .attr('data-transition', 'slide')
    .appendTo(li);
});

そして、これはフィドルです:http://jsfiddle.net/pbBav/

于 2012-12-14T15:13:24.737 に答える