首页 > 解决方案 > 如何从数据库显示值到 tokenize2 选择字段?

问题描述

我正在使用 tokenize2 让用户在发布问题表单中插入多个选项标签。将数据插入数据库成功。但同样,我有一个编辑页面,可以再次编辑插入的表单。但是我在将标签显示到字段中时遇到了问题。我正在使用下面的代码

在插入时

在此处输入图像描述

<?php
      $a=array();
      $a=explode(',',$row_question['question_tags']);
      $output="";

      foreach($a as $v)
      {
        $output.="<script>$('.tokenize-callable-demo1').tokenize2().trigger('tokenize:tokens:add', ['token value','".$v."' , true]); </script>";
      }
      echo $output;

    ?>

以上代码输出 在此处输入图像描述

for example
$row_question['question_tags'])="india,england,america";
$a[]='india','england','america';

但是只有印度被添加到该字段中,而其他没有被上面的代码添加。

问题是只有第一个值被插入到字段中,而其他值没有被插入。但是当我检查它时,我发现上面的代码以正确的值运行 n 次,因为我在 $a 数组中有 n 个值。但唯一的第一个值被添加,其余的 n 个值不被添加。我不明白我在哪里做错了。如果我在某处犯了错误,请纠正我。

标签: javascriptjquerytokenizetokenize2

解决方案


为了解决这个问题,我们必须使用默认值的概念。加载页面时,默认值将获得一些值。所以同样我们已经显示了页面加载时从数据库中获取的一些值。所以就在下面的代码解决问题

<?php
 $a=array();

 //in database i store values with "," thats why i am using explode to break them and treat as single option 
 $a=explode(',',$row_question['question_tags']);
 $output="";

 foreach($a as $v)
 {
   $output.="<option value=".$v." selected>".$v."</option>";
 }
 echo $output;

?>

请记住,此选定关键字在选项标签中对于显示预定义值很重要。


推荐阅读