javascript - 使用 jquery 中的事件动态创建表单

标签 javascript jquery

我是 jquery 新手,我意识到我可能会问一个平庸的问题,但我似乎找不到解决方案: 我想创建一个表单,在用户在下拉菜单中选择"is"选项后,将出现更多字段以及附加的下拉菜单,并提出相同的问题。这个想法是只要用户选择"is"就不断添加更多字段 我意识到它应该涉及on()或change()。

基本的应该是这样的:

<div id="moreFields">
 <fieldset class="input-block"><label for="otherProvider">other Providers?</label>
  <div class="dropdown">
   <select id="otherProvider" name="otherProvider" class="dropdown-select">
    <option value="no">no</option>
    <option value="yes">yes</option>
  </select></div></fieldset>
</div>
$('document').ready( function()
 {
   $('#otherProvider').change(function()
      {
        //add more fields, and add a new dropdown menu.
      }
 });

最佳答案

这就是您要找的吗?

$(document).ready( function()
 {
   $('#moreFields').on('change','#otherProvider',function()
      {
          if($(this).val() == 'yes'){
             $('#moreFields').append('<fieldset class="input-block"><label for="otherProvider">other Providers?</label><div class="dropdown"><select id="otherProvider" name="otherProvider" class="dropdown-select"><option value="no">no</option><option value="yes">yes</option></select></div></fieldset>');
          }
      }
   );
 });

DEMO Here

编辑:正如 A.Wolff 注意到的那样,他是对的.. ID 必须是唯一的,因此请使用类..

关于javascript - 使用 jquery 中的事件动态创建表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30139908/

相关文章:

javascript - Dijit 复选框树事件委托(delegate)

javascript - Google Analytics 跟踪代码不会在 "3rd Party"域上触发

jquery - elem.is (':checked' ) vs elem.prop ('checked' )

javascript - 基于 DOM 的 XSS 在哪里

javascript - 如何在对象函数中引用对象数据?

javascript - 如何使用 jQuery 从 span 标记的先前隐藏输入中获取值

javascript - 使用 Javascript 的几个旋转 div

javascript - 单击下拉列表后,选项消失并显示结果

javascript - 关闭特定页面上的 CSS 工作表

javascript - 当您到达终点时移动的页脚消失