为什么JQuery会追加我的陈述的顺序?

时间:2016-04-07 19:29:14

标签: javascript jquery

我向JS发布消息。我正在使用这个Ajax调用。它工作正常,除了由于某种原因"输入类型 - "复选框" 总是首先出现在屏幕上,而实际上我想要它第二个 PRODUCT_NAME 即可。我试过反过来交换它,复选框总是先来。

首先获取product_name,然后选中复选框,我该怎么做?

 $.ajax({                                                                        // if this is a CREATE QUOTE, we use the product_id to grab the PRICE using AJAX //
        type: 'GET',
        dataType:"json",
        url: 'category_prices/' + value,
        success: function (categories) {
         $cat_products.empty();
         $.each(categories,function(i, product){
         $cat_products.append('<p col-sm-2 col-md-2 col-md-offset-0>' +product.product_name+ '<input type="checkbox" class="col-sm-1 col-md-1 col-md-offset-2" value="cat_id">  </p>') 
            });

        }
    });

HTML

 <div class="cat_products"></div>

2 个答案:

答案 0 :(得分:1)

我假设您正在使用bootstrap 3.在这种情况下,请更改

      $cat_products.append('<p col-sm-2 col-md-2 col-md-offset-0>' +product.product_name+ '<input type="checkbox" class="col-sm-1 col-md-1 col-md-offset-2" value="cat_id">  </p>') 

     $cat_products.append('<p class="col-sm-2 col-md-2 col-md-offset-0">' +product.product_name+ '<input type="checkbox" class="col-sm-1 col-md-1 col-md-offset-2" value="cat_id">  </p>') 

注意class="col-sm-2 col-md-2 col-md-offset-0"&lt; p&gt;标签你要追加。之所以发生这种情况,是因为Bootstrap将float:left属性添加到类col-sm-2 col-md-2。另请注意,您应避免将这些类与&lt; p&gt;一起使用。标签

答案 1 :(得分:0)

你的p标签缺少col = sm2-等

的class =“”