0

何らかの理由で、数日間試していたスクリプトを実行できません。

さまざまな色を表示するチェックボックスがいくつかあります。ユーザーが 1 つの色をクリックすると、スクリプトで Web サイトの DIV の 1 つをリロードします。

<form>タグと<input type="submit">、基本的にはボタンを使用すると、すべてが正常に機能します。しかし、チェックボックスをオンにするだけでは機能しません。常に送信をクリックする必要があります。

コードに関するヘルプをいただければ幸いです。

ありがとう!

JavaScript:

<script>
    $('.colors').delegate('input:checkbox', 'change', function() { 
        if ($(this).attr("checked")) {
            var id = $("#regularCheckbox").find(':checked').val();
            $('#itemMain').load('index.php?color='+id);
        }
    }).find('input:checkbox').change();
</script>

形:

<?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 />";
}
?>
</div>
4

1 に答える 1

0
$("#regularCheckbox").find(':checked')

PHPエコーに基づいて間違っているようです。regularCheckboxは ID ではなくクラスなので、選択する必要があります$(".regularCheckbox:checked')。ところで、ループ内で同じ ID を繰り返し出力しないでください。ID は一意である必要があります。

serialize()また、フォームで jQuery のメソッドを使用したい場合もあります。

于 2012-08-02T14:47:05.897 に答える