Jquery Tagit从数据库

时间:2015-05-29 18:11:01

标签: jquery tag-it

我遇到了Jquery TagIt的问题。它运行正常,但是当我从数据库中提取记录并使用foreach循环显示它时,它会显示标签,但它们会在文本末尾添加一个x。

第二个x是唯一一个删除记录的x。我试图删除×但是根本没有任何显示。甚至输入值也会在文本后面返回一个x。我不确定我做错了什么。

我提供了一张图片,告诉你我的意思。如果需要澄清,请告诉我。谢谢你的帮助。

enter image description here

<?php $my_dietary_requirements = explode(', ', $my_dietary_requirements); ?>
<fieldset class="edit-boxes">
    <ul class="table-tags" id="my-diet">
        <?php foreach($my_dietary_requirements as $diet){
        echo '<li class="tagit-choice ui-widget-content ui-state-default ui-corner-all tagit-choice-editable">
                <span class="tagit-label">'.$diet.'</span>
                <a class="tagit-close">
                  <span class="text-icon">×</span>
                  <span class="ui-icon ui-icon-close"></span>
                </a>
                <input value="'.$diet.'" name="my_dietary_requirements[]" class="tagit-hidden-field" type="hidden">
             </li>';
        } ?>
    </ul>
</fieldset>


//Javascript
 //Dietary Requirements
$("#my-diet").tagit({
    allowSpaces: true,
    fieldName: 'my_dietary_requirements[]'
});
$('#my-diet .tagit-new input').attr('id','my-dietary-requirements');

1 个答案:

答案 0 :(得分:1)

尝试将你的foreach更改为:

<?php foreach($my_dietary_requirements as $diet){
echo '<li>'.$diet.'
        <input value="'.$diet.'" name="my_dietary_requirements[]" class="tagit-hidden-field" type="hidden">
     </li>';
} ?>

我认为你试图添加一些你的插件自己添加的东西,这最终使得东西以一种奇怪的方式被添加两次。它可能连接原始<li>

中所有节点的文本