【问题标题】:Tagging system with dynamic input具有动态输入的标记系统
【发布时间】:2018-05-29 12:23:09
【问题描述】:

现在我正在尝试将引导标记系统与动态输入字段代码结合起来。我想要为每个动态生成的字段/div 一个标签输入字段。

像这样:

主题 1:标题
描述:它是关于一个标题
标签:你好,无聊,标题

Topic2:又是一个标题
说明:又是说明
标签:idk、帮助

(...) 等等。

我用于添加附加字段的 jquery 文件如下所示:

    $(document).ready(function () {
        var maxGroup = 10;       
          $(".addMore2").click(function() {
          $(".tagging").css("display", "none"); 
           if ($('feld2').find('.fieldGroup').length < maxGroup) {
              var fieldHTML = '<div class="form-group fieldGroup">' + 
              $(".fieldGroupCopy").html() + '</div>';
              $('feld2').find('.fieldGroup:last').after(fieldHTML);
                } else {
                    alert('Maximum ' + maxGroup + ' groups are allowed.');
                }
            });
            //remove fields group
                $("feld2").on("click", ".remove", function () {
                $(this).parents(".fieldGroup").remove();
            });
        });

不工作的部分是这个: 当我点击我的“添加”按钮时: see here 它会复制这部分:

<div class="form-group fieldGroupCopy" style="display: none;">     
     <table>
        <tr> 
        <td class='first_td'><label for="titel"><b>Titel:</b></label></td>
       <td><input  type="text" name="description[]" class="form-control" placeholder="Title"/></td>
    <td><a href="javascript:void(0)" class="btn btn-danger remove">-</a></td>
    </tr>
    <tr>
        <td><b>Beschreibung:</b></td>
         <td><textarea type="text" name="description[]" class="form-control" placeholder="Beschreibung des Themas"/></textarea></td>
       </tr>
            <tr>
             <td><label for="Tags"><b>Tags</b></label></td>
                <td colspan='2'>
                    div class="form-group">
                            <input type="text" name='tags_WiBe[]' placeholder='Add Tags' data-role="tagsinput" class="form-control" />
                        </div>
                        </td>
                        </tr>
               </table>
              </div>

但是标记系统在复制的字段中不起作用。 它只能在 div“form-group fieldGroup”之外工作。

see here 每次我输入表单要提交的标签时,但这不是我想要的。

请帮帮我……

编辑:

这是一个更清楚地显示问题的 jsfiddle。 https://jsfiddle.net/t5vrLsur/#&togetherjs=pbAhjTR1t1 我知道这不是最漂亮的结构。 不要对我太苛刻。 :(

【问题讨论】:

  • 您好,欢迎来到 StackOverflow。如果您可以添加runnable code,我们将更容易为您提供帮助。您不必对所有代码都这样做,您可以简化案例。
  • 这里是 ja jsfiddle 的重要部分。当您使用添加功能并尝试在显示的标签字段中放置一些标签时,它也显示了问题。 jsfiddle.net/t5vrLsur/#&togetherjs=pbAhjTR1t1
  • 你可以开始here
  • uff... 对我没有多大帮助。但我很感谢你的帮助!

标签: php jquery dynamic tags tagging


【解决方案1】:

问题是插件本身负责 DOM 准备好的第一次初始化。在您的情况下,您希望在每次添加卡后运行它。

您可以通过在新卡上下文中简单地运行插件初始化来做到这一点。

此外,您必须从模板中的input 中删除data-role 属性,因为正如我们所说,此属性意味着自动初始化插件,但在模板的情况下,我们将在加载后手动执行卡片。

所以这里是相关的行:

// wrap the html with jQuery so you could delete the inputtags wrapper later
var fieldHTML = $('<div class="form-group fieldGroup">' + $(".fieldGroupCopy").html() + '</div>');
$('feld2').find('.fieldGroup:last').after(fieldHTML);
// initialise again
fieldHTML.find('input').tagsinput();

工作演示

http://output.jsbin.com/dabijac/

此外,您的代码中有几个 jQuery 引用会导致问题。您要么删除它,要么使用 $.noConflict 保留它们。

【讨论】:

  • 我无语了!非常感谢你的帮助!我会努力变得更好,更好地理解事物。谢谢!
  • 我很高兴 :) 我相信你会的。祝你好运!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-03
  • 1970-01-01
  • 1970-01-01
  • 2012-01-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多