jquery для установки формы dotnet visible = true и false - PullRequest
1 голос
/ 05 октября 2011

У меня есть страница входа с вкладками, на которой я хотел бы разместить по одной форме на каждой вкладке, но из кода они находятся на одной странице.

Это означает, что есть две формы.

пример:

<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

1 Ответ

0 голосов
/ 05 октября 2011

вы не хотите устанавливать $(".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/

...