0

我已经尽可能地简化了问题,我觉得这应该可行。以下脚本控制自动完成功能并按预期工作(如果用户键入“t”,“test”将显示为建议的输入)。

<script type="text/javascript">
$(function() {
    var availableClients = ['test'];
    $("#addClient").autocomplete({
        source: availableClients,
    });
});
</script>

但是,如果我设置 PHP 变量 $test = "'test'" 并将原始脚本中的 'test' 替换<?php echo $test; ?>为自动完成脚本,则不再有效。有没有另一种方法可以使用 PHP 变量作为自动完成源,或者我错过了什么?

编辑:这是其中包含 PHP 的脚本。

<script type="text/javascript">
$(function() {
    var availableClients = [<?php echo $test; ?>];
    $("#addClient").autocomplete({
        source: availableClients,
    });
});
</script>

唯一相关的 PHP 代码就是这个。

$test = "'test'";
4

1 回答 1

1

问题可能是您在回显变量值时没有包含引号。尝试这个:

var availableClients = ['<?php echo $test; ?>'];

事实证明,问题实际上是你在定义它$test之前没有定义echo它。这个:

$test = "'test'";

需要在此之前发生:

<script type="text/javascript">
$(function() {
    var availableClients = [<?php echo $test; ?>];
    $("#addClient").autocomplete({
        source: availableClients,
    });
});
</script>
于 2012-12-01T22:45:20.860 回答