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

时间:2012-08-01 14:42:58

标签: php javascript html checkbox reload

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

基本上,我希望选中一个复选框时自动提交复选框表单,然后在我的网站上仅重新加载一个特定的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 />";
}
?>

1 个答案:

答案 0 :(得分:0)

查看Jquery submit a form via .submit() on AJAX success... how?

.load()函数你的'调用'实际上是一个事件处理程序,因此它不会对提交表单做任何事情。

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

更新:我的初始输入速度太快,$(ele).load()函数确实有效,因此请在Firebug或其他开发人员工具中检查您的请求和响应。