我现在将所有的javascript代码放在我的视图(PHP)中。但我想分离它们(以便删除重复代码)。 我目前正在使用CodeIgniter框架,并且我使用像这样的函数:
$(function() {
$("#serialNumber").autocomplete({
source: "<?php echo site_url('manage/getSerials'); ?>",
change: function(event, ui) {
if (!ui.item) {
$(event.target).val("");
}
},
focus: function(event, ui) {
return false;
}
});
});
然而,您不能在PHP中使用JavaScript变量。
那么,我应该为每个链接创建一个变量,并在我的JavaScript中使用它,还是将JavaScript放在单独的PHP文件中,或者有更好的解决方法?
以下是ToniTornado提供的答案:
首先,创建一个类似于以下函数:
function getURL(link) {
var site = "<?php echo site_url(); ?>";
site += "/" + link;
return site;
}
将它包含在你的jQuery、CSS文件集合中,然后像这样使用函数(jQuery):
$(function() {
$("#serialNumber").autocomplete({
source: getURL('controller/function'),
change: function(event, ui) {
if (!ui.item) {
$(event.target).val("");
}
},
focus: function(event, ui) {
return false;
}
});
});
MyConfig.base_path + "/sub/dir"
,怎么样? - RobDil