2014-02-11 57 views
1

getsubcat.phpAjax不是在PHP語句工作

<?php 
include("config.php"); 
error_reporting(0); 
$checkedValue=$_GET['checkedValue']; 
$options= ""; 
$s=mysql_query("SELECT * FROM `sub_category` INNER JOIN `category` on sub_category.cat_id=category.cat_id where category.cat_name='$checkedValue'"); 
     while($rows=mysql_fetch_array($s)) 
     { 
      $subcategory=$rows['sub_cat_name']; 

      echo '<input name="sub_category" type="checkbox" class="checkbox_check1" onclick="select_subcatinfo('.$subcategory.')" id="checkbox_check1'.$subcategory.'" value="'. $subcategory.'" >&nbsp;'.$subcategory.'<br /><br />'; 

     } 

     ?> 

這是我的PHP代碼它會通過Ajax在另一個頁面加載..下面是我的AJAX腳本。

阿賈克斯腳本

function select_subcatinfo(name) 
{ 
    $("#wait").css("display","block"); 
    var checkedValue1 = name; 
    if($("#checkbox_check1"+name).is(':checked')) 
    { 
     var xmlhttp; 
     if (window.XMLHttpRequest) 
     {// code for IE7+, Firefox, Chrome, Opera, Safari 
      xmlhttp=new XMLHttpRequest(); 
     } 
     else 
     {// code for IE6, IE5 
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
     } 
     xmlhttp.onreadystatechange=function() 
     { 
      if (xmlhttp.readyState==4 && xmlhttp.status==200) 
      { 
       $("#wait").css("display","none"); 
       data = xmlhttp.responseText.split("[BRK]"); 
       document.getElementById("DisplaySubcat").innerHTML = data[0]+" "+data[1]; 

      } 
     } 
     xmlhttp.open("GET","getSubcatValue.php?checkedValue1="+checkedValue1,true); 
     xmlhttp.send(); 
    } 
    else 
    { 
     $("#wait").css("display","none"); 
    }   
} 
</script> 

但這種功能無法正常工作是echo語句裏面..這裏任何幫助。 thankss

+0

爲什麼使用內聯JavaScript而不是僅僅使用jQuery將單個處理程序綁定到類? – Barmar

+0

爲什麼當你可以使用'.get()'或'$ .ajax()'時,你使用了冗長的AJAX語法? – Barmar

+0

那麼該怎麼做? – Pooojaaaa

回答

3

不要使用內嵌的JavaScript,使用jQuery到事件處理程序綁定:

$(document).ready(function() { 
    $(".checkbox_check1").click(function() { 
     if (this.checked) { 
      $("#wait").show(); 
      $.get('getSubcatValue.php', { checkedValue1: this.value }, function(response) { 
       var data = response.split('[BRK]'); 
       $("#DisplaySubcat").text(data[0] + ' ' + data[1]); 
       $("#wait").hide(); 
      }); 
     } 
    }); 
}); 
+0

但該函數不工作在PHP回聲聲明? – Pooojaaaa

+0

您不要在PHP回顯函數中使用它。改用它。 – Barmar

+0

我dint得到你的觀點.. – Pooojaaaa

0

我真的不是要回答這個...只是清理運的PHP

<?php 
require("config.php"); 
error_reporting(0); 
$checkedValue = $_REQUEST['checkedValue']; 
$options = ""; 
$s=mysql_query("SELECT * FROM `sub_category` INNER JOIN `category` on sub_category.cat_id=category.cat_id where category.cat_name='$checkedValue'"); 
while($rows=mysql_fetch_array($s)) 
    { 
     $subcategory=$rows['sub_cat_name']; 
     echo '<div><input name="sub_category" type="checkbox" class="checkbox_check1" onclick="select_subcatinfo('.$subcategory.')" id="checkbox_check1'.$subcategory.'" value="'. $subcategory.'" >&nbsp;'.$subcategory.'<br /><br /></div>'; 
    } 
?> 
+0

我已經做到了..我只是分開我的代碼與標籤bcz的另一個原因 – Pooojaaaa

+0

除非你是分離功能或想打開/關閉phps標籤爲了理智,它只是沒有意義的分開他們你的方式 – VIDesignz

+0

chekc我編輯的代碼,這是我的實際代碼..正如我說的我分開我的代碼另一個原因.. – Pooojaaaa