1

スクリプトを機能させようとしていますが、チャンスはありません。

基本的に、ボックスが選択されたときにチェックボックスフォームを自動的に送信し、サイトに特定のDIV(indexMain)を1つだけリロードする必要があります。私が達成しようとしているのは、左側に色でフィルターをかけることです。これにより、ユーザーがREDをチェックすると、REDアイテムのみが表示されます(アイテム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)を使用して、ターゲットdivのinnerHTMLとしてhtmlフラグメントを追加できます。

更新:最初の入力が速すぎると、$(ele).load()関数が実際に機能するため、Firebugまたは別の開発者ツールで要求と応答を確認してください。

于 2012-08-01T14:58:16.170 に答える