如何在同一个div中获取内容而不会进入多个框?

问题描述:

我有以下代码如何在同一个div中获取内容而不会进入多个框?

<div class="col-md-9"> 
       <div id="statbox"> 
         {% for obj in product_type %} 
         {% for obj1 in vastu %} 
         <script type="text/javascript"> 
          var product = "{{ obj.type_product }}"; 
          var product1 = "{{ name }}"; 
          var vastu = "{{ obj1.vastu_key.id }}"; 
          var type_id = "{{ obj.id }}"; 

          if (vastu == type_id) 
          { 
          var title = "{{ obj1.title }}"; 
          var brand = "{{ obj1.brand }}"; 
          var img = "{{ obj1.image }}"; 
          var price = "{{ obj1.price }}"; 

          $("#statbox").prepend("<div id='box2'>" 
               + title 
               + brand 
               + price 
               +"</div>"); 
          } 
         </script> 
          {% endfor %} 
         {% endfor %} 
       </div> 

我用两个在这里循环和它在CSS样式,通过为内容儿童包含循环和标题运行此代码我BOX2多次得到了BOX2,品牌,img,价格在每个新盒子中显示出来2。 但我想新BOX2应该只生成根据内容不根据内容儿童包含循环 包含在父母的循环和全部内容,即标题,品牌,IMG,价格这与用于循环父的每个内容相关联应显示在同一个box2中。 多个box2只能根据parent的for循环创建,并且为父循环创建的同一个box2中的for循环的内容。 谢谢....

+2

创建一个JS对象和循环,而不是这个可怕的混乱。还要将ID更改为类 – mplungjan

+1

multile2 box2 ids ... noooooooooooo!而且,从外观看,你甚至不会输出任何来自'product_type'的东西,那么外层循环的需求是什么? – Pete

+0

@Pete没有我需要的是父母的循环怎么我想孩子环路内容下PRODUCT_TYPE ...... –

创建一个JS对象和环路。也改变了ID类

事情是这样的:

var boxes = [ 
 
    {% for obj in product_type %} 
 
    { 
 
    {% for obj1 in vastu %} 
 
    "product":"{{ obj.type_product }}", 
 
    "product1":"{{ name }}", 
 
    "vastu": "{{ obj1.vastu_key.id }}", 
 
    "type_id":"{{ obj.id }}" 
 
    {% if obj1.vastu_key.id == obj.id %} 
 
    , 
 
    "title":"{{ obj1.title }}", 
 
    "brand":"{{ obj1.brand }}", 
 
    "img":"{{ obj1.image }}", 
 
    "price":"{{ obj1.price }}" 
 
    {% endif %} 
 
    {% endfor %} 
 
    } 
 
    {% endfor %} 
 
];       
 
$.each(boxes,function(obj) { 
 
    $("#statbox").prepend("<div class='box2'>" 
 
    + obj.title || "" 
 
    + obj.brand || "" 
 
    + obj.price || """ 
 
    +"</div>"); 
 
});