2012-05-29 92 views
0

我想通過腳本標記調用jQuery和PHP文件的組合,但它不能正確加載。通過腳本標記調用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> 
+7

是否有人認爲這段代碼是不可讀的亂碼? – ThiefMaster

+0

檢查你的JavaScript控制檯,你有任何錯誤? – frietkot

+1

檢查控制檯後,如果沒有顯示任何錯誤,則在每個控制結構中用警報追蹤出 –

回答

1

你不能做到這一點,當頁面加載,它不會等待「改變」事件PHP將被執行。這是我在這個爛攤子裏看到的唯一的東西。

嘗試用php生成jquery,那會好的。

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調用該URL的PHP​​腳本是。 PHP腳本將查詢數據庫並將結果作爲json格式輸出回javascript。 JavaScript可以基本上做任何你想要的結果從PHP輸出。