【问题标题】:Dynamic Adding of Text Fields JQuery动态添加文本字段 JQuery
【发布时间】:2015-05-18 07:49:18
【问题描述】:

您好,我是 JQuery 新手,我正在制作一个 API 工具,就像 https://www.hurl.it/ 我还想要添加参数按钮,它将创建一个参数名称和一个值字段并将其呈现在一个 div 中。这是我的表格。

<div class="panel-body">
    {!! Form::open(array('url' => 'invoker', 'class' => 'form-horizontal', 'id' => 'form')) !!}
    <div class="form-group">
        <label class="col-sm-2 control-label">URI</label>
        <div class="col-sm-10">
            <input type="text" class="form-control" id="uri" placeholder="Enter URL">
        </div>
    </div>
    <div class="form-group">
        <label for="inputPassword3" class="col-sm-2 control-label">Parameters</label>
    </div>
    <div class="form-group">
        <div class="col-sm-offset-2 col-sm-10">
            <button type="button" class="btn btn-default" id="addParams">Add Parameter</button>
        </div>
    </div>

    <div class="form-group">
      <div class="col-sm-offset-2 col-sm-10" id="paramArea">

       </div>
    </div>
    <div class="form-group">
        <div class="col-sm-offset-2 col-sm-10">
            <button type="submit" class="btn btn-default">Submit</button>
        </div>
    </div>
    {!! Form::close() !!}
</div>

这是我的脚本

$(function() {
    $("#addParams").click(function() {
        $('<input/>').attr({
            type: 'text',
            id: 'test',
            name: 'test',
            autofocus: 'true',
            class: 'form-control'
        }).appendTo('#paramArea');

        $('<input/>').attr({ 
            type: 'text', 
            id: 'paramValue', 
            name: 'paramValue', 
            autofocus: 'true', 
            class: 'form-control', 
            placeholder: 'value' 
        }).appendTo('#paramArea');
    });
});

这远不是我想要完成的。有人可以帮我吗?谢谢

【问题讨论】:

  • 您已经很好地解释了您所做的事情,但我们不知道现在发生的事情对您来说是意外的行为;)我可以猜测,但您是否提出了实际问题;)跨度>

标签: jquery html textfield


【解决方案1】:

这是您可以做的解决方案:

  • 从您的输入中删除 id 元素,因为在您的情况下,您添加到表单中的任意数量的项目都将具有相同的 id,而 id 应该是唯一的。
  • 将文本框附加到 div 而不是表单。
  • 这是一个有效的sample

在这段代码中,“addText”是我给你的 HTML 中的一个 div 元素提供的一个 ID。

$(document).ready(function() {
  $("#addParams").click(function() {
    $("#addText").append('<br><input type=text class="form-control" name=test value="New Element" />');
  });

});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="panel-body">
  <!-- {!! Form::open(array('url'=> 'invoker', 'class' => 'form-horizontal', 'id' => 'form')) !!} -->
  <form>
    <div class="form-group">
      <label class="col-sm-2 control-label">URI</label>
      <div class="col-sm-10">
        <input type="text" class="form-control" id="uri" placeholder="Enter URL">
      </div>
    </div>
    <div class="form-group">
      <label for="inputPassword3" class="col-sm-2 control-label">Parameters</label>
    </div>
    <div class="form-group">
      <div class="col-sm-offset-2 col-sm-10" id="addText">
        <button type="button" class="btn btn-default" id="addParams">Add Parameter</button>
      </div>
    </div>
    <div class="form-group">
      <div class="col-sm-offset-2 col-sm-10">
        <button type="submit" class="btn btn-default">Submit</button>
      </div>
    </div>
  </form>
  <!-- {!! Form::close() !!} -->
</div>

【讨论】:

  • 谢谢。我已经使用了它,我想出了如何解决我的问题。对不起,如果它令人困惑。无论如何,谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-31
  • 1970-01-01
  • 2011-02-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多