2015-08-19 20 views
0

我有一个“添加另一个字段”的用户,以防他们需要添加更多的成分。 该字段通过jquery动态添加。以下是默认字段的图片和添加此字段的代码;jQuery - 动态添加CSS到HTML(令人费解)

enter image description here

创建类似的元素添加一个字段

var element_ing = $('<div class="f-row ingredient">\ 
         <div class="medium">\ 
          <input type="text"/>\ 
         </div>\ 
         <div class="quantity">\ 
          <input type="text"/>\ 
         </div>\ 
         <div class="to">to</div>\ 
         <div class="quantity">\ 
          <input type="text"/>\ 
         </div>\ 
         <div class="small">\ 
          <select id="unit-dyn">\ 
          </select>\ 
         </div>\ 
         <div class="less-medium">\ 
          <select id="prep-method-dyn">\ 
          </select>\ 
         </div>\ 
         <button class="remove" id=remove-ing"></button></div>'); 

一切运作良好,但是当模板呈现的格式是有点过了,像这样的; enter image description here

我发现这是因为渲染的模板添加了一个span和div类,它不在模板中,但我猜是自动添加的,而添加动态字段时会添加相同的span; HTML的默认渲染场

<div class="small" id="unit"> 

# the below div gets added automatically 
<div class="selector" id="uniform-id_ingredient_set-0-unit" style="width: 90px;"> 

# the below span gets added automatically 
<span style="width: 76px; -webkit-user-select: none;">Unit</span> 

<select id="id_ingredient_set-0-unit" name="ingredient_set-0-unit"> 
    <option value="" selected="selected">Unit</option> 
    <option value="1">mL</option> 
</select> 
</div> 
</div> 

HTML动态添加字段

<select id="unit-dyn"> 
    <option value="" selected="selected">Unit</option> 
    <option value="1">mL</option> 
</select> 

增加了一条新的领域我把默认的领域克隆它,然后附加价值的新创建领域。

有没有办法在动态创建的字段中自动添加div和span,就像它被添加到默认字段中一样?感谢您阅读长问题。

+0

你是否在使用JS插件进行样式选择输入? – GwynBleidD

+0

@GwynBleidD没有简单的JS。虽然效果我使用jQuery UI。 – Uma

回答

0

您绝对使用jQuery UI selectmenu作为样式设置下拉菜单,它负责在选择上添加额外的div和span。在向表单添加新行时,selectmenu不会初始化它们。添加新行后,您应该重新初始化selectmenu。