2014-02-11 56 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