用户
 找回密码
 入住 CI 中国社区
搜索
查看: 5540|回复: 11
收起左侧

[已解决] CI中如何让js调用php中的变量

[复制链接]
发表于 2012-7-4 10:34:00 | 显示全部楼层 |阅读模式
控制器:
class Index extends CI_Controller
{   
// 构造函数
function __construct()
{
  parent::__construct();
  
  // 载入url类和模板解析类
  $this->load->helper('url');
  $this->load->library('parser');
}

// 首页(默认展现合肥地区)
function index($locat = 'hf')
{   
  $data = array(
   'locat'      => $locat,
  );
  $this->parser->parse('index', $data);
}
}

view下index.php中有一段js,想调用$locat变量的值

jQuery(function($){
$("#count_p").parent("div").hide(); //消除
$("#menu #$locat").attr("class", "selected");
});

这么写无法实现,该怎么写才行?望高手指教
发表于 2012-7-4 10:49:21 | 显示全部楼层
CodeIgniter 提供了一个 JS 类,或许你可以尝试一下~
发表于 2012-7-4 11:02:33 | 显示全部楼层
可以在页面中的js代码中直接使用<?php echo $locat; ?>使用该变量
发表于 2012-7-4 11:05:36 | 显示全部楼层
首先,js 调用 PHP 变量,这句话就是伪命题,js 和 PHP 完全不可能互相调用的。
其次,你可以用 PHP 生成 JS,这个可能就是你说的调用。
PHP 生成 HTML 和生成 JS 没有本质区别,好好思考一下。
 楼主| 发表于 2012-7-4 11:19:00 | 显示全部楼层
qi_ruo 发表于 2012-7-4 11:02
可以在页面中的js代码中直接使用使用该变量

就是不想出现echo这样的php代码,可以实现吗
 楼主| 发表于 2012-7-4 11:19:59 | 显示全部楼层
Hex 发表于 2012-7-4 11:05
首先,js 调用 PHP 变量,这句话就是伪命题,js 和 PHP 完全不可能互相调用的。
其次,你可以用 PHP 生成 J ...

用Php生成Js是什么意思?我是希望在view里面调用控制器里的php变量
发表于 2012-7-4 11:56:52 | 显示全部楼层
小草 发表于 2012-7-4 11:19
就是不想出现echo这样的php代码,可以实现吗

在 view 中是必须使用 echo 的。
发表于 2012-7-4 11:57:14 | 显示全部楼层
小草 发表于 2012-7-4 11:19
用Php生成Js是什么意思?我是希望在view里面调用控制器里的php变量

我已经明确说了,PHP 无法“调用”JS,不知道你想做什么?
发表于 2012-7-4 12:01:38 | 显示全部楼层
php运行在服务器端,是不可能调用浏览器端的语言的。否则岂不是黑客行为了。
发表于 2012-7-4 13:45:47 | 显示全部楼层
首先,js 调用 PHP 变量,这句话就是伪命题,js 和 PHP 完全不可能互相调用的。
其次,你可以用 PHP 生成 JS,这个可能就是你说的调用。
PHP 生成 HTML 和生成 JS 没有本质区别,好好思考一下。
无非就是要读php里的变量嘛 用ajax 或是在view里<script> var test="<?php $var; ?>";</script>

本版积分规则