0

我试图通过脚本标签调用 jQuery 和 PHP 文件的组合,但它没有正确加载。

这是我的代码

<script type="text/javascript">
jQuery(document).ready(function(){
$("#country").change(function(){
    var getVal = $(this).val();
<?php $sql="select t.term_id,t.description,t2.name,t2.slug from wp_term_taxonomy as t join wp_terms as t2 on t.term_id=t2.term_id where t.parent=3";
$data=mysql_query($sql); 
while($rec=mysql_fetch_array($data))
{?> if(getVal=="<?php echo $rec['name'];?>" )
  {
    window.location = "<?php echo get_category_link( $rec['term_id'] );?>";
  } <?php }?>                           
});
$("#team").change(function(){
    var getVal = $(this).val();
<?php
$args=array(
  'orderby' => 'name',
  'order' => 'ASC',
  'taxonomy' => 'teams'
  );
$categories=get_categories($args);
  foreach($categories as $category) { ?>if(getVal=="<?php echo $category->name;?>"){
<?php $x=str_replace(' ','-',$category->name);
      $y=str_replace('\'','',$x);?>
    window.location = "<?php echo home_url( '/' );?>teams/<?php echo $y;?>";
  }
<?php }?>
});
});
</script>
4

2 回答 2

1

你不能这样做,PHP 将在页面加载时执行,它不会等待“更改”事件。这是我在这个烂摊子里唯一能看到的。

尝试用php生成jquery,就可以了。

于 2012-05-29T12:46:57.253 回答
0

php 在服务器上运行,javascript 在客户端上运行。你不能以这种方式组合它们。

一种方法是让 javascripts 使用 ajax 调用 php 文件。

请参阅“ http://viralpatel.net/blogs/2009/04/jquery-ajax-tutorial-example-ajax-jquery-development.html ”和“ http://api.jquery.com/category/ajax/

所以你的javascript更改事件将通过ajax调用你的php脚本所在的url。php 脚本将查询数据库并将结果以 json 格式输出回 javascript。javascript 基本上可以用 php 输出的结果做任何你想做的事情。

于 2012-05-29T13:00:25.103 回答