<label>
  <input  type="radio" name="optradio" >1 PERSON
</label>
<label>
  <input  type="radio" name="optradio" >2 PERSON
</label>
<label>
  <input  type="radio" name="optradio" >3 PERSON
</label>

<div class="table-responsive">
  <table class="table table-hover table-striped mah">
    <tbody>
      <tr>
        <td>
          <div class="form-group">
            <input type="text" name="f1-email" placeholder="Name" class="f1-email form-control" id="f1-email"></div>
        </td>
      </tr>
    </tbody>
  </table>
</div>





目前,一个输入是存在的。如果用户选择一个2人或3人单选按钮,我们需要显示2或3个输入字段,并根据用户选择动态添加行

最佳答案

这里简单的使用循环并将html放入容器中:

<label>
<input  type="radio" name="optradio" value="1">1
 PERSON
</label>
<label>
<input  type="radio" name="optradio" value="2" >2
PERSON
</label>
<label>
<input  type="radio" name="optradio" value="3" >3
PERSON
</label>

<div class="table-responsive">
<table class="table table-hover table-striped mah">
<tbody id="container">

  </tbody>
 </table>
  </div>


并使用jquery循环简单地创建动态内容:

$('input[type="radio"]').click( function(){
$val = $(this).val();
$('#container').html('');
$content = '';
var i = 1;
for( i = 0; i < $val; i++ ) {
    $content += '<tr><td><div class="form-group"><input type="text" name="f1-email" placeholder="Name" class="f1-email form-control" id="f1-email"></div></td></tr>';
}
   $('#container').html($content);
 });


希望这可以帮助。

关于javascript - 根据用户选择添加动态行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53454927/

10-10 14:46