2015-12-21 110 views
1

我按照本教程here在我的项目中使用了选择性和rtconnor标记,并且在创建新门票时效果很好,但是当我尝试编辑门票时无法使用它。选择Laravel窗体编辑

在我TicketController编辑()

$tags = Ticket::with('tagged')->first(); 

我得到的标签这张票所有标签。

在我看来,我有这个文本字段:

<input type="text" name="tags" class="form-control" id="tags" value='@foreach ($ticket->tags as $tag) {{$tag->name}} @endforeach'> 

这是我的脚本:

<script> 
    $(document).ready(function() { 
     $('#tags').selectize({ 
      plugins: ['remove_button'], 
      delimiter: ',', 
      persist: false, 
      valueField: 'tag', 
      labelField: 'tag', 
      searchField: 'tag', 
      options: tags, 
      create: function(input) { 
       return { 
        tag: input 
       } 
      } 
     }); 
    }); 
</script> 

<script> 
    var tags = [ 
      @foreach ($tags as $tag) 
      {tag: "{{$tag}}" }, 
     @endforeach 
    ]; 
</script> 

文本字段是空的,但是当我删除I​​D =“标签”我可以看到我的标签,但只能看作纯文本字段而不能选择。

我认为问题是我的脚本。你可以帮我吗?

非常感谢!

+0

有没有人有想法? – user3382438

回答

1

我并不熟悉selectize插件,但看起来像值属性需要用逗号分隔。尝试调用你的标签这样的implode函数这样..

<input type="text" name="tags" class="form-control" id="tags" value="{{ implode(',', $ticket->tags) }}" /> 

不知道这是否会工作...试试。

编辑:oup!在你的标签变量中也会注意到... foreach循环会导致尾随的逗号,这可能会导致问题。我会删除它。

+0

是已经在我的标签变量 – user3382438