使用文本框取消隐藏带有jquery的选项卡可以取消隐藏错误的部分

时间:2013-07-18 20:38:29

标签: javascript jquery html jquery-ui

我有一个带有几个复选框的表单,当选中这些复选框时,将取消隐藏下面带有部分的相应选项卡。不幸的是,当我检查第二个或第三个框时,会出现正确的选项卡,但是属于第一个选项卡的部分我们将用它取消隐藏。我在JSFiddle中有一个例子:http://jsfiddle.net/j08691/HyMBD/2/。如果选中“外联网访问”框,则会显示“使用协议”(US 531)部分。以下是我用来取消隐藏标签和部分的代码:

//hide/show UA Section
        $("#use-agreement-required").click(function() {
            if ($("#use-agreement-required").is(":checked"))
            {
                $(".UASection").show("fast");
            } else {
                //otherwise hide it
                $(".UASection").hide("fast");
            }

        });

        //hide/show Extranet Section
        $("#extranet-access").click(function() {
            if ($("#extranet-access").is(":checked"))
            {
                //show hidden class
                $(".extranetSection").show("fast");

            } else {
                //otherwise hide it
                $(".extranetSection").hide("fast");
            }

        });

        //hide/show Move It Section
        $("#move-it-access").click(function() {
            if ($("#move-it-access").is(":checked"))
            {
                //show hidden class
                $(".moveItSection").show("fast");

            } else {
                //otherwise hide it
                $(".moveItSection").hide("fast");
            }

        });

        //Refresh tabs
        $("#use-agreement-required,#extranet-access,#move-it-access").click(function () {
            $("#contractTypes").tabs("refresh");
        });

2 个答案:

答案 0 :(得分:4)

您确定标签是您想要在那里做的吗?从UI的角度来看,我认为你正走在一条凌乱的道路上。

话虽如此,显示标签是不够的,您需要告诉标签控件您正在激活新标签:

$(“#contractTypes”)。tabs({active:1});

请记住,索引是基于0的。

答案 1 :(得分:0)

这会弄乱你的代码..删除,一切都很好

//Refresh tabs
$("#use-agreement-required,#extranet-access,#move-it-access").click(function () {
    $("#contractTypes").tabs("refresh");
});

http://jsfiddle.net/HyMBD/5/