В том числе динамическое автоматическое предложение кода JavaScript в ветке - PullRequest
0 голосов
/ 04 июня 2018

Я хотел добавить список подсказок для студентов в поле ввода

public function autoCodeSuggest()
{
    $em = $this->getDoctrine()->getManager();
    $query = $em->createQuery("SELECT s.studentLogin FROM AppBundle:StudentLogin s ORDER BY s.studentLogin");
    $code = $query->getArrayResult();
    $strJavascript = '';
    if (!empty($code)){
      $strJavascript = '
      var ArrayCode = new Array(';
      for ($i=0; $i<count($code); $i++){
          $strJavascript .=  '"'.$code[$i]['studentLogin'].'",';
      } // for ($i=0; $i<count($code); $i++)
      $n = strlen($strJavascript)-1;
      $strJavascript = substr_replace($strJavascript,'',$n); // remove last ,
      $strJavascript .= ');';
    } // if (!empty($code))
    return $strJavascript;
} // end function

в моем контроллере

public function studentSearchAction()
{
    $LoginJS = $this->get('utilities_student_tools')->autoCodeSuggest();
    return $this->render('student/student_search.html.twig', array(
        'LoginJS' => $LoginJS,
    ));
}

student_search.html.twig содержит

{% block body %}
<script language="javascript" type="text/javascript">
{{ LoginJS }}
</script>
{{ include('student_code.html.twig') }}
{% endblock %}

это не работает, потому что при просмотре исходного кода моей страницы у меня появляется

<script language="javascript" type="text/javascript">
      var ArrayCode = new Array(&quot;AA0951&quot;,&quot;AA1825&quot;,&quot;AA2802&quot;,&quot;AA2886&quot;,&quot;AA3418&quot;,.....
</script>

, когда я добавляю \ в генератор кода JavaScript

$strJavascript .=  '\"'.$code[$i]['studentLogin'].'\",';

вывод становится

var ArrayCode = new Array(\&quot;AA0951\&quot;,\&quot;AA1825\&quot;,\&quot;AA2802\&quot;,\&quot;AA2886\&quot;

Работает, если вывод похож на

var ArrayCode = new Array("AA0951","AA1825","AA2802","AA2886",

the " is converted to &quot; . 

Как можно избежать преобразования в веточку?

1 Ответ

0 голосов
/ 04 июня 2018

Я просто нахожу ответ.

{{ LoginJS|raw }}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...