jquery,嵌套div中的复选框onclick显示/隐藏提交

时间:2011-01-31 18:05:33

标签: php jquery-selectors

我有一个页面,在购物车系统中有一系列div。每个都是产品,当选中复选框时,如果有可用选项和/或确认复选框在表单提交之前被确认,则保持按钮隐藏并显示一个div,其中包含另一个复选框,当选中该复选框时(如果存在)然后显示按钮。 每个div上的show hide工作正常(现有代码),所以我正在尝试创建一个在onclick事件的函数内调用的函数。

我的问题出现的是检查是否存在另一个复选框[在示例中显示为(tmpId ==“acknowledge”)]并且在它们看到提交按钮之前也检查了它,如果没有显示提交按钮。这需要适用于他们点击[("id= "+feeSID+"_checkbox")]上的第一个复选框的每个产品... $("#ocContainer")是隐藏容器(带提交),以显示是否选中了正确的复选框..对于每个产品地选择。

每个id的第一部分是由sql查询生成并传递给函数的变量。 我的职责:

var feeSID = "";
var feeVAL = "";
var pop = "";

function countChecked(feeSID) {
    var n = $("input:checked").val();
    var tmpId = $(this).attr("name");
    if (tmpId == "acknowledge") {
        console.log("acknowledge Clicked <br />");
    } else {
        feeVAL = $(this).attr("id");
    }
    if (feeVAL == '') {
        return;
    } else {
        if ($("#" + feeSID + "_checkbox:checked")) {
            console.log("id= " + feeSID + "_checkbox");
            var pop = $("#" + feeSID + "_popup").length;
            if (pop > 0) {
                $(":checkbox").click(function () {
                    if (tmpId == "acknowledge") {
                        $("#ocContainer").show();
                    }
                });
            } else {
                $("#ocContainer").show();
            }
        }
    }
}

我希望我的解释清楚。我收到的错误是:
uncaught exception: Syntax error, unrecognized expression: #[object Object]_popup

2 个答案:

答案 0 :(得分:0)

我认为异常可能是由代码中的这一行引起的:

 var pop = $("#"+feeSID+"_popup").length;

在代码中的某个时刻,feeSID被分配给一个对象。因此,您尝试将对象用作选择器的一部分而不是字符串。在尝试将feeSID用作选择器的一部分之前,您需要确保feeSID是字符串而不是对象。

答案 1 :(得分:0)

错误是由于我尝试将Obj用作选择器的一部分而引起的。正如Adam Prax指出的那样

var pop = $("#"+feeSID+"_popup").length;

在我的代码中的某个时刻,feeSID被分配给一个对象。我通过使用new String(feeSID);再次访问变量或对象作为字符串来解决它 这解决了这个问题。我希望它可以帮助其他人,我在google上找到的所有内容都指向使用语法@name="name",这在jQuery中不再是有效的语法。