我在 javascript 文件中的 php 回显中出错

I get error in a php echo inside a javascript file

当我在 JavaScript 文件中使用一些代码,但插入 HTML div 时出现错误。我使用 PHP 方法来显示所有客户端,并且在 html 页面中工作正常。但是在 JavaScript 中我得到了回声错误。

查看 Visual Studio 代码中的错误 ==> https://prnt.sc/1yy4sxl

这是我的代码:

        $(this).parent().parent().parent().children(".clientNewOrder").html(

'<div class="form-group">' +
'    <div class="input-group mb-3">' +
'        <div class="input-group-prepend">' +
'            <select class="form-control" required>' +
'                <option value="">Select Client</option>' +
'                <?php' +
'                $item = null;' +
'                $valor = null;' +
'                $selectClient = ControllerClients::ctrReadClients($item, $values);' +
'                foreach ($selectClient as $key => $value) {' +
'                    echo <option value=".$value["id"]. ">'.$value["name"]. '</option>;' +
'                }' +
'                ?>' +
'            </select>' +
'        </div>' +
'    </div>' +
'</div>'
)

我尝试更改“”'',但问题仍然存在。 我删除了 echo ' ' 中的 '',如下所示:

'  echo <option selected>Select</option>' +
'       <option value="01">John</option>' +
'        <option value="02">Mary</option>;' +

并且运行在这个手动表单中是可以的,但是动态我无法处理它

您在 JavaScript 单引号内有 mixex PHP 代码行。 PHP 应该 运行 作为一个单独的块,但您可以使用 PHP ECHO 本身生成 JavaScript 单引号:

$(this).parent().parent().parent().children(".clientNewOrder").html(

'<div class="form-group">' +
'    <div class="input-group mb-3">' +
'        <div class="input-group-prepend">' +
'            <select class="form-control" required>'+
'                <option value="">Select Client</option>'
                <?php
                $item = null; 
                $valor = null;
                $selectClient = ControllerClients::ctrReadClients($item, $values);
                foreach ($selectClient as $key => $value) {
                    echo '+\'<option value="'.$value["id"]. '">' .$value["name"]. '</option>\'+'; 
                }
                ?>
'            </select>' +
'        </div>' +
'    </div>' +
'</div>'
)