0

チェックボックスがチェックされるとすぐにチェックボックスの値を取得し、DIVを非表示にして、代わりに同じDIVに.phpをリロードするJqueryがあります。

これまでのところ、チェックボックスがチェックされてDIVが非表示になると、スクリプトが動作するようになりますが、チェックボックスの値が渡されず、DIVも読み込まれません...

コードは次のとおりです。

形:

echo "<input type='checkbox' class='regularCheckbox' name='color' value='".$colorBoxes[color_base1]."' /><font class='similarItemsText'>   ".$colorBoxes[color_base1]."</font><br />";

Jクエリ:

<script type="text/javascript">
jQuery(document).ready(function($) {
    $(":checkbox").bind("click", function (event) {
        if($(this).is(':checked')) 
            {
            var color = $(".regularCheckbox").find(':checked').val();
            $(".itemMain").hide();
            $(".indexMain").load('indexMain.php?color='+color);
            }
});
});
</script>

indexMain.php

$color = $_GET['color'];
$items = mysql_query("SELECT * FROM item_descr WHERE color_base1 = '$color'");

私の意図は、コンテンツの優れたフィルタリングを作成することです。

ありがとう!!!

4

1 に答える 1

2

を使用するだけthisです。現在のコードは、チェックされているチェックボックスを 内で探します.regularCheckbox.find()一致したセット内の子要素を見つけるために使用されます。

jQuery(document).ready(function($) {
    $(":checkbox").bind("click", function(event) {
        if ($(this).is(':checked')) {
            var color = $(this).val();
            $(".itemMain").hide();
            $(".indexMain").load('indexMain.php?color=' + color);
        }
    });
});​

また、この種の場合は、jQuery.changeイベント ハンドラーを使用することをお勧めします (値が実際に変更されない場合にイベントを無視するため)。

$("input:checkbox").change(function() {
    // what to do when the value changes
});
于 2012-08-03T02:20:43.153 に答える