通过脚本标记调用jquery和php文件的组合

时间:2012-05-29 12:10:39

标签: php javascript jquery wordpress

我试图通过脚本标记调用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>

2 个答案:

答案 0 :(得分:1)

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

尝试使用php生成jquery,这没关系。

答案 1 :(得分:0)

Php在服务器上运行,javascripts在客户端上运行。你不能用这种方式组合它们。

一种方法是让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输出的结果做任何你想做的事。