0

フォームにリストを作成する必要があります

<li>
    <span class="room">A20</span>
    <span class="dropin">3</span>
    <span class="appoint">1</span>
    <span class="delay">20</span>
</li>
<li>
    <span class="room">A21</span>
    <span class="dropin">2</span>
    <span class="appoint">1</span>
    <span class="delay">10</span>
</li>

フォームの json オブジェクトの値を使用します。

data = [
    { "name": "A20 Dropin", "queueType": "QUEUE", "customers": 3, "delay": 0 },
    { "name": "A20 Appoint", "queueType": "APP_QUEUE", "customers": 1, "delay": 20 },
    { "name": "A21 Appoint", "queueType": "APP_QUEUE", "customers": 1, "delay": 10 },
    { "name": "A21 Dropin", "queueType": "QUEUE", "customers": 2, "delay": 0 }
];

問題は、他のすべてのオブジェクトから名前 (たとえば A20) を取得することですが、それでもすべてのオブジェクトから顧客を取得することです。

  • 遅延は常に APP_QUEUE から発生します。
  • A20 DropinA20 Appointなど、常に 2 つの部屋があります。
  • オブジェクトが順番通りに並べられていない可能性があるため、最初に、おそらく名前で並べ替える必要があります。

jsfiddle here で例を設定しました! しかし、コードは私が望むフォームではなく、すべてのオブジェクトを印刷します。

4

2 に答える 2

0
$(data).each(function(i,v){
 var a = v.name.split()[0];
 var d = v.name.split()[1];
 var $span = $('span[data-a="'+a+'"]');
 var $li = null;
 if(span.length){
   $li = $span.closest('li');
 }
 else{
   //create li and whole of the structure
   $li = $('<li></li>');
 }

 //do rest of the dom changes here based on the value of d
 ....
 //at last
 $cont.append($li)/*the container element*/
});
于 2013-10-30T12:06:58.560 に答える