使用jQuery通过单击链接取消隐藏div

时间:2010-09-17 05:47:28

标签: jquery

为此我使用colorbox jQuery插件http://colorpowered.com/colorbox/和表单。我正在尝试使用jQuery颜色框取消隐藏包含表单的div,并在点击下面的相关链接时将其显示在颜色框中。

这是我使用的标题中的javascript:

$(document).ready(function() {
    $('#password_reset').ajaxForm({
        success: showResponse,
        clearForm: 'true'
    });

    function showResponse(responseText, statusText) {
        $('#password_reset').hide();
        $('#formStatus').html(responseText);
    };

    $().bind('cbox_open', function() {
        $('#password_reset').show();
        $('#formStatus').html('');
    });

    $(".inline").colorbox({
        width: "300px",
        height: "250px",
        inline: true,
        href: "#password_change"
    });
});

这是我应该运行我的javascript代码的链接(上图)并取消隐藏下面的div并将其运行到colorbox中:

<a href="javascript:showResponse">Password Reset</a>

这是我隐藏的div:

<div style="visibility: hidden;">
    <div id='password_change' style="padding:10px; background:#fff;">
        <strong>Change your password</strong><br /><br />
        <form id="password_reset" action="password_reset.php" method="post">
            <input type="hidden" name="Method" value="updatePassword"  />
            Password: <br />
            <input type="password" name="password1" />
            <br />
            <br />
            Verify Password: <br />
            <input type="password" name="password2" />
            <br />
            <input type="submit" value="Update" />
        </form>
        <div id="formStatus"></div>
    </div>
</div>

希望有人可以告诉我如何让这个工作完全陷入困境我知道这是我在这里犯的一个小错误,但我无法理解。请帮帮忙?

3 个答案:

答案 0 :(得分:3)

griegs' answer就在那里。 jQuery的节目&amp;隐藏在div元素上相当于display:block;并显示:无;所以它应该是这样的:

<div id="DIV_password_reset" style="display:none;">

$('#DIV_password_reset').show();

如果要使用可见性,请执行以下操作:

<div id="DIV_password_reset" style="visibility:hidden;">

$('#DIV_password_reset').css('visibility', 'visible');

答案 1 :(得分:2)

<div id="DIV_password_reset" style="visibility: hidden;">

$('#DIV_password_reset').show();

您设置表单的可见性而不是div。

答案 2 :(得分:0)

我认为你需要使用jQuery这样的东西:

jQuery(document).ready(function(){
    jQuery('.show').live('click', function(event) {        
        $("#yourDivId").attr({style: "visibility: show;"});
    });
});​

检查jsfiddle.net

更多信息: