选中复选框时仅重新加载一个DIV


Reloading only one DIV when checking a checkbox

我一直在尝试让脚本工作,但没有机会!

基本上,我想要一个复选框表单,当一个框被选中时自动提交,然后在我的网站上只重新加载一个特定的DIV(indexMain)。我试图实现的是在左边有一个按颜色过滤的过滤器,所以当用户检查RED时,只有RED项目会显示(通过重新加载items DIV)。

这是我到目前为止的代码(不起作用,因为检查颜色框没有任何效果):

<script>
$(function() {
      $(".regularCheckbox").change(function() {
      console.log("changed...");
      var data = $(this).serialize();
      console.log(data);
      $("#indexMain").load("index.php?data="+data)
               })
    })
</script>
<div class="bgFilterTitles">
<h1 class="filterTitles">COLOR</h1>
</div><div class="colors">
<form id ="colors" method="post" action="index.php">
<?php
$colors = mysql_query("SELECT DISTINCT color_base1 FROM item_descr ORDER BY color_base1");
while ($colorBoxes = mysql_fetch_array($colors))
{
echo "<input type='checkbox' id='checkbox-1-1' class='regularCheckbox' name='color' value='".$colorBoxes[color_base1]."' /><font class='similarItemsText'>   ".$colorBoxes[color_base1]."</font><br />";
}
?>

看看Jquery在AJAX成功时通过.submit()提交表单。。。怎样

你"调用"的.load()函数实际上是一个事件处理程序,所以它不会做任何与提交表单有关的事情。

如果您的PHP返回HTML片段,那么您可以使用jquery(或标准DOM)将HTML片段添加为目标div的innerHTML。

更新:在我最初输入的时候太快了,$(ele).load()函数确实可以工作,所以请在Firebug或其他开发工具中检查您的请求和响应。