1

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

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

1 回答 1

0

看看Jquery 在 AJAX 成功上通过 .submit() 提交表单...怎么样?

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

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

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

于 2012-08-01T14:58:16.170 回答