由jQuery调用的PHP类方法

时间:2011-10-03 01:05:10

标签: php jquery

我是PHP中的jQuery和OOP的新手, 但我拥有的是一个有数组的PHP对象

$array[0] = "a"
$array[1] = "b"
$array[2] = "c"
$array[3] = "d"

和我的HTML中的选择框

<select class="box">
<option value="1">First Letter</option>
<option value="2">Second Letter</option>
<option value="3">Third Letter</option>
<option value="4">Fourth Letter</option>
</select>

<div></div>

当有人使用jQuery更改选择框的值时,如何动态更改div标签中的任何内容?

有没有办法做类似

的事情
$('.box').change(){ var value = $object->array[index-1]}?

假设我已经拥有了index的值。

EDIT 我知道我将不得不使用Ajax,但我不确定如何在已经创建的对象的实例中调用方法。

3 个答案:

答案 0 :(得分:1)

您无法通过javascript访问PHP。有几种可能的解决方案:

  1. 将所有可能的数据组合一次加载到存储在DOM中某个位置的页面上。当用户循环选择时,请适当更改它们。
  2. 在没有javascript的情况下仅将初始元素加载到页面上,然后使用Ajax加载所有其他可能的组合。
  3. 动态加载每个组合ajax。
  4. 您可以让javascript向同一页面发出Ajax请求并过滤请求,或者您可以创建一个代理,该代理只会在使用ajax命中时提供所需的请求。

答案 1 :(得分:1)

请记住,您正在尝试将PHP与Javascript结合使用。

您的代码主要是用javascript编写的,但是你会这样做 只在PHP代码中注入一些PHP代码。

在本例中,使用标准的jquery onchange事件方法'change()' 对于选择框,将javascript变量值设置为$ object-&gt; array [0] 来自PHP。

$('select').change(function() {
  var value = <?php echo $object->array[$index] ?>
  $('div').html(value)
});

答案 2 :(得分:0)

您可以使用php函数json_encode将您的php数据转换为javascript对象。 e.g

<script type="text/javascript">
    var mydata = <?= json_encode($myarray) ?>;
    console.log(mydata); 
</script>