我遇到了Jquery TagIt的问题。它运行正常,但是当我从数据库中提取记录并使用foreach循环显示它时,它会显示标签,但它们会在文本末尾添加一个x。
第二个x是唯一一个删除记录的x。我试图删除×但是根本没有任何显示。甚至输入值也会在文本后面返回一个x。我不确定我做错了什么。
我提供了一张图片,告诉你我的意思。如果需要澄清,请告诉我。谢谢你的帮助。
<?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');
答案 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>