您好我在我的项目中使用Symfony2和bootstrap。我想问一下这个问题的更好解决方案。
我试图从我的数据库中获取所有标记,并将它们分配给tag-it插件的availableTags属性。
所以我提出了这个解决方案。
这是我的控制器代码:
/**
*
* @Route("/ask", name="ask")
* @Security( "has_role( 'ROLE_USER' )" )
* @Method("GET")
* @Template
*/
public function askAction() {
$tags = $this->getDoctrine()->getRepository('VerySoftAskMeBundle:Tag')->findAll();
$entity = new Question();
$form = $this->createCreateForm($entity);
return array(
'entity' => $entity,
'form' => $form->createView(),
'tags' => $tags
);
}
这是我的树枝模板:
<label class="col-lg-1 text-left askLabels" for="tagField">Tags</label>
<input id="tagField" type="text" class="form-control col-lg-11">
<input id="fieldTags" type="hidden" value="{{ tags|join(',') }}">
这是我的剧本:
$('#tagField').tagit({
availableTags: $('#fieldTags').val().split(',')
});
答案 0 :(得分:2)
您可以直接在javascript中定义它,而不是两次执行此操作:
$('#tagField').tagit({
availableTags: ["{{ tags|join('", "')|raw }}"]
});
删除隐藏的输入:
<input id="fieldTags" type="hidden" value="{{ tags|join(',') }}">