使用jQuery添加div内容

3
我需要使用 jQuery 动态添加 div 的内容。

enter image description here

当我选择10时,右侧应该显示10个选项: enter image description here 这些元素的代码如下:
 <nav class="choose_option" id="navch">
            {{ form_widget(form.critere1) }}
            <select id="select1">
                <option value="normal" class="highlight_orange">Normal</option>
                <option value="nombre">Nombre</option>

            </select>
            <select id="op1">
                <option value="like" class="highlight_orange">Like</option>
                <option value="not like">NOT LIKE</option>
                <option value="=">=</option>
                <option value="<"><(inf)</option>
                <option value=">"><(sup)</option>
                <option value="<>"> <></option>
            </select>
            <input type="text" id="txtcrit1" {{ app.request.get('txtcrit1') }}/>
        </nav>
        <nav>
            <ul class="list">
                <li class="list__item left pushright">
                    <label class="label--checkbox">
                        <input type="radio" name="radio" value="AND" class="checkbox" id="chx1">
                        ET

                    </label>
                </li>
                <li class="list__item left pushright">
                    <label class="label--checkbox">
                        <input type="radio" name="radio" value="OR" class="checkbox" id="chx2">
                        OU

                    </label>
                </li>


            </ul>
        </nav>

我的问题是,如何使用jQuery和JavaScript以动态方式添加相同的代码,以便当我选择五个或十个选项时,我会得到五个或十个元素。


您可以使用 $(selector).html()$(selector).append() 添加动态元素。要添加动态计数,可以使用循环来计算它。 - Rajesh
{{ form_widget(form.critere1) }} 是什么?不是JS / CSS / HTML! - Praveen Kumar Purushothaman
检查一下 jQuery 模板。这可能会解决你的问题,让它变得更精简、干净。 - Bhushan Kawadkar
{{ form_widget(form.critere1) }} 是来自 Symfony。 - Majdi Taleb
2个回答

2
我为您提供了一个快速示例,演示如何实现此操作:

$( document ).ready(function() 
{
     $('#selectBox').on('change', function() 
     {
       switch (this.value)
       {
          case "5":
          case "10":
           
           for (i = 0; i < this.value; i++) 
           { 
              $("#appendToMe").append('<nav class="choose_option" id="navch">{{ form_widget(form.critere1) }}<select id="select1"><option value="normal" class="highlight_orange">Normal</option><option value="nombre">Nombre</option></select><select id="op1"><option value="like" class="highlight_orange">Like</option><option value="not like">NOT LIKE</option><option value="=">=</option><option value="<"><(inf)</option><option value=">"><(sup)</option><option value="<>"> <></option></select><input type="text" id="txtcrit1" {{ app.request.get("txtcrit1") }}/></nav><nav><ul class="list"><li class="list__item left pushright"><label class="label--checkbox"><input type="radio" name="radio" value="AND" class="checkbox" id="chx1">ET</label></li><li class="list__item left pushright"><label class="label--checkbox"><input type="radio" name="radio" value="OR" class="checkbox" id="chx2">OU</label></li></ul></nav>');
           }
           
          break;
       }
     });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<select id="selectBox">
  <option>select option</option>
  <option>5</option>
  <option>10</option>
</select>

<div id="appendToMe">

</div>


但是我希望附上我在问题中提到的完整代码。 - Majdi Taleb
@MajdiTaleb - 没问题,很高兴能帮助你 :) - YaBCK
仍然存在一个问题,即无法添加{{ form_widget(form.critere1) }},因为这个变量来自Symfony。感谢您提供此脚本。 - Majdi Taleb

1
 use $(selector).append() to append data

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接