0

我有一个 Jquery,它在检查后立即获取复选框的值,然后应该隐藏一个 DIV 并在同一个 DIV 中重新加载一个 .php。

到目前为止,我只是让脚本在选中复选框并隐藏 DIV 后执行操作,但我无法获得传递的复选框的值,也没有加载 DIV...

这是代码:

形式:

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

查询:

<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 回答