【问题标题】:Insert a value in clonable form text field using javascript使用javascript在可克隆表单文本字段中插入值
【发布时间】:2012-11-16 17:35:56
【问题描述】:

我有一个名为的文本字段。它可以被克隆。还有一个链接可用于选择值。

我创建了一个 js fiddle 给你看。

完整页面查看:http://jsfiddle.net/ZpEK9/embedded/result/

来源:http://jsfiddle.net/ZpEK9/

如您所见,如果您单击“选择名称”链接,它将弹出一个窗口。该窗口有名称和选择名称的链接。

当用户时钟“插入名称”链接时,我想在文本字段中插入该名称。任何人都可以帮助我使用 jquery 代码..

PS:表单字段是可克隆的。

这就是我的代码的样子..

<form>
    <div class="control-group success">

  <div class="controls">
      <p class="clone"><input type="text" name="name[]"><span class="help-inline"><a data-toggle="modal" href="#myModal">Select a name</a></span></p>
    <span class="help-inline"><a href="#" class="add" rel=".clone">Add More</a></span>
  </div>
</div>
</form>
<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true" style="display: none;">
           <div class="row-fluid">
            <ul class="thumbnails">
              <li class="span4">
                <div class="thumbnail">
                  <div class="caption">
                    <h3>Sam</h3>
                    <p><a href="#" class="btn btn-primary">Insert name</a></p>
                  </div>
                </div>
              </li>
              <li class="span4">
                <div class="thumbnail">
                  <div class="caption">
                    <h3>Linda</h3>
                    <p><a href="#" class="btn btn-primary">Insert name</a></p>
                  </div>
                </div>
              </li>
              <li class="span4">
                <div class="thumbnail">
                  <div class="caption">
                    <h3>Lucy</h3>
                    <p><a href="#" class="btn btn-primary">Insert name</a></p>
                  </div>
                </div>
              </li>
              <li class="span4">
                <div class="thumbnail">
                  <div class="caption">
                    <h3>Jenifer</h3>
                    <p><a href="#" class="btn btn-primary">Insert name</a></p>
                  </div>
                </div>
              </li>
            </ul>
          </div>
          </div>​

谢谢

【问题讨论】:

    标签: javascript jquery forms twitter-bootstrap


    【解决方案1】:

    我在这里用一个可行的解决方案分叉了你的 JSFiddle:

    http://jsfiddle.net/jg5C7/3/

    在链接中添加了“选择名称”类:

        <span class="help-inline">
            <a class="select-name" href="#myModal">Select a name</a>
        </span>
    

    为链接添加绑定:

        $('a.select-name').click(function() {
            $('#myModal').data('current-input', $(this));
            $('#myModal').modal('show');
        });
    
        $('#myModal .btn').click(function() {
            $('#myModal').data('current-input').closest('p').find(':text').val($(this).data('value'));
            $('#myModal').modal('hide');
        });
    

    为按钮添加数据值属性,例如:

        <p><a href="#" data-value="Sam" class="btn btn-primary">Insert name</a></p>
    

    因为您使用插件来做一些魔术,所以它不是一个优雅的解决方案,但实际上对您当前所做的唯一改变是我手动触发模式打开/关闭,以便我可以挂钩到“选择名称”链接的点击事件上。

    【讨论】:

      【解决方案2】:

      试试这个。我更改了输入名称并将option 类添加到每个&lt;a&gt;

      $('a.option').on('click', function() {
        $('input[name="name"]').val($(this).parent().parent().find('h3').text())
        $('.modal').toggle()
      });​
      

      FIDDLE

      【讨论】:

      • 你好,伙计,谢谢。但是克隆功能在您的小提琴中不起作用,我在您的小提琴中添加了克隆功能。但是在所有表单字段中都会填写相同的值。请查看jsfiddle.net/ZpEK9/2
      • 我的意思是复制...转到此小提琴jsfiddle.net/ZpEK9 并单击“添加更多”链接。文本字段将被复制/克隆
      • 此方法不起作用,因为输入是动态添加的,并且选择名称链接需要绑定到它的同级输入。您的示例会将所有输入值设置为所选名称。
      • 不错,没注意克隆。
      猜你喜欢
      • 1970-01-01
      • 2012-06-06
      • 1970-01-01
      • 2015-05-10
      • 2011-03-16
      • 1970-01-01
      • 1970-01-01
      • 2011-07-04
      相关资源
      最近更新 更多