jquery设置dotnet表单visible=true和false

发布于 2024-12-07 20:14:51 字数 1482 浏览 0 评论 0原文

我有一个选项卡式登录页面,我想在每个选项卡上托管一个表单,但从后面的代码来看,它们位于单个页面上。

这意味着有两种形式。

示例:

<nav id="secondary">
<ul>
<li id="current"><a href="#login">Login</a></li>
<li><a href="#forgot">Forgot Password</a></li>
</ul>
</nav>


<div id="login" class="tab">
<br /><br />
<form runat="server" visible="true" class="frmControl">
</form>
</div>
<div id="forgot" class="tab">
<br /><br />
<form runat="server" visible="false" class="frmControl"></form>
</div>

然后我有以下 jquery 在登录 div 和忘记 div 之间切换

$(".tab").hide();

if ($("nav#secondary ul li.current").length < 1) {
    $("nav#secondary ul li:first-child").addClass("current");
}

var link = $("nav#secondary ul li.current a").attr("href");
$(link).show();

$("nav#secondary ul li a").click(function () {
    if (!$(this).hasClass("current")) {
        $("nav#secondary ul li").removeClass("current");
        $(this).parent().addClass("current");
        $(".tab").hide();
        $(".frmControl").attr("Visible", "false");
        var link = $(this).attr("href");
        $(this).attr("Visible", "true");
        $(link).show();
        initBackground();
    }
    return false;
});

它无法正常工作,因为它只是将 '.frmControl' 类设置为visible=false。但是当我重新激活该选项卡时,它不会再次将活动选项卡表单设置为 true 并将非活动选项卡表单设置为 false。

抱歉,如果我没有正确解释这一点。

-RD

I have a tabbed login page, that I would like to host a single form on each tab, but from the code behind they are on a single page.

This means there are two forms.

example:

<nav id="secondary">
<ul>
<li id="current"><a href="#login">Login</a></li>
<li><a href="#forgot">Forgot Password</a></li>
</ul>
</nav>


<div id="login" class="tab">
<br /><br />
<form runat="server" visible="true" class="frmControl">
</form>
</div>
<div id="forgot" class="tab">
<br /><br />
<form runat="server" visible="false" class="frmControl"></form>
</div>

and then I have the following jquery to toggle between the login div and forgot div

$(".tab").hide();

if ($("nav#secondary ul li.current").length < 1) {
    $("nav#secondary ul li:first-child").addClass("current");
}

var link = $("nav#secondary ul li.current a").attr("href");
$(link).show();

$("nav#secondary ul li a").click(function () {
    if (!$(this).hasClass("current")) {
        $("nav#secondary ul li").removeClass("current");
        $(this).parent().addClass("current");
        $(".tab").hide();
        $(".frmControl").attr("Visible", "false");
        var link = $(this).attr("href");
        $(this).attr("Visible", "true");
        $(link).show();
        initBackground();
    }
    return false;
});

It is not working correctly, as it is only setting the '.frmControl' class to visible=false. but when i reactivate the tab, it does not set this to true again for the active tab form and set the inactive tab form to false.

sorry if I am not explaining this correctly.

-RD

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

剑心龙吟 2024-12-14 20:14:51

您不想设置 $(".frmControl").attr("Visible", "false"); 因为您已经使用 $(".tab") 隐藏了该选项卡。 hide();

$(".tab").hide();

if ($("nav#secondary ul li.current").length < 1) {
    $("nav#secondary ul li:first-child").addClass("current");
}

var link = $("nav#secondary ul li.current a").attr("href");
$(link).show();

$("nav#secondary ul li a").click(function () {
    if (!$(this).hasClass("current")) {
        $("nav#secondary ul li").removeClass("current");
        $(this).parent().addClass("current");
        $(".tab").hide();
      //  $(".frmControl").attr("Visible", "false");// remove this line
        var link = $(this).attr("href");
        $(this).attr("Visible", "true");
        $(link).show();
        initBackground();
    }
    return false;
});

这是工作示例 http://jsfiddle.net/VGRZS/

you do not want to set $(".frmControl").attr("Visible", "false"); because you already hiding the tab using $(".tab").hide();

$(".tab").hide();

if ($("nav#secondary ul li.current").length < 1) {
    $("nav#secondary ul li:first-child").addClass("current");
}

var link = $("nav#secondary ul li.current a").attr("href");
$(link).show();

$("nav#secondary ul li a").click(function () {
    if (!$(this).hasClass("current")) {
        $("nav#secondary ul li").removeClass("current");
        $(this).parent().addClass("current");
        $(".tab").hide();
      //  $(".frmControl").attr("Visible", "false");// remove this line
        var link = $(this).attr("href");
        $(this).attr("Visible", "true");
        $(link).show();
        initBackground();
    }
    return false;
});

Here is working example http://jsfiddle.net/VGRZS/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文