我尽可能地简化了问题,我觉得这应该有效。下面的脚本控制自动完成功能并按预期工作(如果用户输入't','test'显示为建议输入)。
<script type="text/javascript">
$(function() {
var availableClients = ['test'];
$("#addClient").autocomplete({
source: availableClients,
});
});
</script>
但是,如果我设置一个PHP变量$ test =“'test'”并用<?php echo $test; ?>
替换原始脚本中的'test',则自动完成脚本将不再有效。有没有其他方法可以使用PHP变量作为自动完成源或我错过了什么?
编辑:这是包含PHP的脚本。
<script type="text/javascript">
$(function() {
var availableClients = [<?php echo $test; ?>];
$("#addClient").autocomplete({
source: availableClients,
});
});
</script>
唯一相关的PHP代码就是这个。
$test = "'test'";
答案 0 :(得分: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>