3

複数のタブがあるページがあります。しかし、コードをコピーして貼り付けて Chrome で表示すると、私が話していることを正確に理解できます。ページが読み込まれたときに、[ロールの管理] に対応するタブを表示したいと考えています。次に、ユーザーが [Manage Roles-Person Associations] または [Manage Application-Data Package Association] をクリックしたときに、対応するタブを表示したいと思います。

以下は、これまでに使用したコードです。私が遭遇した問題は、左側のリンクをクリックすると、ページが [Manage Roles] タブに戻ってしまうことです。$(document).ready 関数ですべてをコーディングしたので、完全に理解できました。しかし、私はそれを自分のやりたいように機能させる方法を理解できません。どんな助けでも大歓迎です。

<body>
<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script>
<script type="text/javascript">

    $(document).ready(function () {

        $('#divRolesTabs').tabs();
        $('#divRolesPersonsAssociations').hide();
        $('#divManageApplicationDataPackageAssociation').hide();

        $('#sManageRoles').click(function () {
            $('#divRolesTabs').tabs();
            $('#divRolesTabs').show();

            $('#divRolesPersonsAssociations').hide();
            $("#divManageApplicationDataPackageAssociation").hide();
        });

        $('#sManageRolesPersonAssociation').click(function () {
            $('#divRolesPersonsAssociations').show();
            $('#divRolesPersonsAssociations').tabs();
            $('#divRolesPersonsAssociations').focus();

            $('#divRolesTabs').hide();
            $("#divManageApplicationDataPackageAssociation").hide();
        });

        $('#sManageApplicationDataPackageAssociation').click(function () {
            $("#divManageApplicationDataPackageAssociation").show();
            $("#divManageApplicationDataPackageAssociation").tabs();

            $('#divRolesTabs').hide();
            $('#divRolesPersonsAssociations').hide();
        });
    });
</script>
<form id="frmAdminView" runat="server">
    <table>
        <tr>
            <td>
                <div id="divNavigationPane">
                    <ul>
                        <li><a href=""><span id="sManageRoles">Manage Roles</span></a></li>
                        <li><a href=""><span id="sManageRolesPersonAssociation">Manage Roles-Person Associations</span></a></li>
                        <li><a href=""><span id="sManageApplicationDataPackageAssociation">Manage Application-Data Package Associations</span></a></li>
                    </ul>
                </div>
            </td>
            <td>
                <div id="divRolesTabs">
                    <ul>
                        <li><a href="#divAddRoles"><span>Add Roles</span></a></li>
                        <li><a href="#divDeleteRoles"><span>Delete Roles</span></a></li>
                        <li><a href="#divChangeRoles"><span>Change Roles</span></a></li>
                    </ul>
                    <div id="divAddRoles">
                        <p>Add Roles</p>
                    </div>
                    <div id="divDeleteRoles">
                        <p>Delete Roles</p>
                    </div>
                    <div id="divChangeRoles">
                        <p>Change Roles</p>
                    </div>
                </div>
                <div id="divRolesPersonsAssociations">
                    <ul>
                        <li><a href="#divAssignRoles"><span>Add Roles</span></a></li>
                        <li><a href="#divDeleteRoleAssociations"><span>Delete Roles</span></a></li>
                    </ul>
                    <div id="divAssignRoles">
                        <p>Assign Roles to persons</p>
                    </div>
                    <div id="divDeleteRoleAssociations">
                        <p>Delete Role Associations</p>
                    </div>
                </div>
                <div id="divManageApplicationDataPackageAssociation">
                    <ul>
                        <li><a href="#divAddApplications"><span>Add Applications</span></a></li>
                        <li><a href="#divAddDataPackage"><span>Add Data Package</span></a></li>
                        <li><a href="#divAddApplicationDataPackageAssociations"><span>Add Application/Data Package</span></a></li>
                    </ul>
                    <div id="divAddApplications">
                        <p>Add Applications</p>
                    </div>
                    <div id="divAddDataPackage">
                        <p>Add Data Packages</p>
                    </div>
                    <div id="divAddApplicationDataPackageAssociations">
                        <p>Add App Data Package Association</p>
                    </div>
                </div>
            </td>
        </tr>
    </table>


</form>

4

1 に答える 1

2

ほとんどの場合、答えはクリック ハンドラーから false を返すことです。

$('#sManageRoles').click(function () {
    $('#divRolesTabs').tabs();
    $('#divRolesTabs').show();

    $('#divRolesPersonsAssociations').hide();
    $("#divManageApplicationDataPackageAssociation").hide();

    return false;
});

クリック ハンドラーから「false」を返さない場合、デフォルトのアンカー タグ機能が開始され、(href を指定していないため) ページがリロードされます。

于 2012-06-18T18:50:26.800 に答える