使用AJAX,PHP和MYSQL在另一个复选框中显示来自html表单复选框的多个值

时间:2014-09-06 09:07:50

标签: javascript php mysql ajax

我必须根据选中的类别选择子类别。我坚持选择多个复选框并使用ajax显示其值。 我想使用纯粹的ajax而不是jquery。我从数据库表中获取1个复选框的值,现在我需要显示其他复选框,其中包含使用select查询获取的值,具体取决于用户检查的多个复选框。我有一个想法foreach循环是要使用但不能理解如何和在哪里构架它..请帮助。感谢你。 这是形式:

<?php
while($f1=mysql_fetch_row($res))  {
?>
<input type="checkbox" name="chkcat[]" id="chkcat" onChange="showUser(this.value)" value='<?php echo $f1[1]; ?>'>  <?php echo $f1[0]; ?>
<? } ?>
<div> id="txtHint"> </div>

具有showUser功能的Ajax代码

<script>
 function showUser(str) {
 if (str=="") {
document.getElementById("txtHint").innerHTML="";
return;
} 

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) {
 document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","ajax_chkbox.php?q="+str,true);
xmlhttp.send();
}
</script>

和必须根据所选类别获取子类别的文件和url,即:ajax_chkbox.php是:

while($row = mysql_fetch_array($result)) 
{
echo "<input type=checkbox name=chksubcat[] id=chsubkcat value= $row[0]>  $row[2]"; 
echo "<br>";
}

1 个答案:

答案 0 :(得分:0)

您可以将下拉列表更改为复选框

select_cat.php

<script type="text/javascript" src="http://ajax.googleapis.com/
ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$(".category").change(function()
{
var id=$(this).val();
var dataString = 'id='+ id;

$.ajax
({
type: "POST",
url: "select_subcat.php",
data: dataString,
cache: false,
success: function(html)
{
$(".subcat").html(html);
}
});

});

});
</script>

类别:

<select name="category" class="category">
<option selected="selected">--Select Category--</option>
<?php
include('databasefile');
mysql_connect($server,$username,$password)or die(mysql_error());
mysql_select_db($database)or die(mysql_error());
$sql=mysql_query("select cat_name from category order by cat_name");
while($row=mysql_fetch_array($sql))
{
$cname=$row['cat_name'];
echo '<option value="'.$cname.'">'.$cname.'</option>';
} ?>
</select> <br/><br/>

SubCategory :
<select name="subcat" class="subcat">
<option selected="selected">--Select SubCat--</option>
</select>

2.select_subcat.php

<?php
include('databasefile);
mysql_connect($server,$username,$password)or die(mysql_error());
mysql_select_db($database)or die(mysql_error());
if($_POST['id'])
{
$id=$_POST['id'];
$sql=mysql_query("select s_name from subcat_l1 where cat_name='$id'");
while($row=mysql_fetch_array($sql))
{
$sname=$row['s_name'];
echo '<option value="'.$sname.'">'.$sname.'</option>';
}
}
?>
SubCategory :
<select name="subcat" class="subcat">
<option selected="selected">--Select SubCat--</option>
</select>