我在我的项目中实现标签功能。在我的演示标签中,我发现它们在javascript函数中为自动完成传递名称。
这是我演示项目中的一个函数,
<script>
$(function()
{
var sampleTags = ['c++', 'scala', 'groovy', 'haskell', 'perl', 'erlang', 'apl', 'cobol', 'go', 'lua'];
..................
.................
所以,我想要传递值从我的php控制器到这个函数,为了获得自动完成值从我的数据库表
For example i am getting tags values from my db in my Controller like this:
` $data["query"] = $this->ordermodel->fetch_orderlist();`
$this->load->view('tagpage', $data); //loading my page tag page where above function exists
现在我如何将$data["query"]
值传递到上面的javascript函数?请帮助
您可以使用PHP的json_encode
将变量回显到页面上。这个函数将PHP数组或对象转换为JavaScript可以使用的JSON对象:
<script>
$(function() {
var sampleTags = <?php echo json_encode($query); ?>;
})();
</script>
但更好的方法是通过Ajax请求这些值。假设您有一个名为values.php
的PHP脚本:
<?php
#...
#assign $query here
#...
echo json_encode($query);
然后,在JavaScript中(在你想要使用sampleTags
变量的页面上),你可以使用jQuery的.ajax
函数来做一个简单的Ajax请求:
<script>
var sampleTags;
$.ajax({
url: 'values.php'
}).done(function(data) {
if (data) {
sampleTags = data;
}
});
</script>
我还没有测试这个例子。显然,您需要调整它以适应您的环境。
您必须为此编写一个ajax函数
$.ajax(
url : "<?php echo site_url('controller/method')?>",
type : 'POST',
data : 'para=1',
success : function(data)
{
if(data){
var sampleTags = data;
}
}
);
回显php变量
$(function()
{
var sampleTags = '<?php echo $data["query"]; ?>'