Javascript 自举';崩溃于';类不附加问题

Javascript 自举';崩溃于';类不附加问题,javascript,angularjs,twitter-bootstrap,Javascript,Angularjs,Twitter Bootstrap,当我点击一些我需要打开一些stars指令(uib评级)的项目时,我面临一个引导折叠选项的问题,我已经使用了UI引导 HTML: <p class="text-align" style="cursor:pointer"><a ng-click="fnDisplayQuestions(value.quesList.quesListName,$index)" data-toggle="collapse" data-target="{{#value.quesList.quesListN

当我点击一些我需要打开一些stars指令(uib评级)的项目时,我面临一个引导折叠选项的问题,我已经使用了UI引导

HTML:

<p class="text-align" style="cursor:pointer"><a ng-click="fnDisplayQuestions(value.quesList.quesListName,$index)" data-toggle="collapse" data-target="{{#value.quesList.quesListName}}" >{{value.quesList.quesListName}}</a></p>
<uib-rating ng-model="rate" id="{{value.quesList.quesListName}}" class="collapse" max="max" read-only="isReadonly" on-hover="rating=value" ng-click="fnPutRating(rating)" on-leave="overStar = null" titles="['one','two','three']" aria-labelledby="default-rating"></uib-rating>
$scope.fnDisplayQuestions = function(qListName, index) { 

        $scope.indexQList = index;
        $scope.sQList = qListName;

        if (parseInt(window.localStorage.getItem('currentRound')) == 1) {
            getCandidateInterviewListService.fnGetQuestions(qListName).then(function(response) {
                $scope.aQuestions = response;
            });
        } else {
            getCandidateInterviewListService.fnGetQuesRoundBased(qListName).then(function(response) {
                $scope.aQuestions = response;
            });
        }

}

我不知道为什么此折叠无法正常工作。

如果出现以下情况,您可以始终使用
ng:

HTML:


在这种情况下,我遇到了很多问题。我用谷歌搜索不同的解决方案,但没有一个对我有帮助,最后我找到了这个解决方案。希望能帮助别人

=>这里我们需要使用服务器端控件绑定。 =>我们可以使用c#CodeBehind文件轻松实现这一点

步骤1:在.aspx页面中为外部div写入父ID,并将其设置为runat=“server”。我们将把引导选项卡div放在这个div中,这样我们就可以轻松地访问accordian类的子元素

            <div class="panel-group accordion" runat="server" id="parenAccordian">                                   
                               <div class="panel panel-default">
                                    <div class="panel-heading">
                                        <h4 class="panel-title">
                                            <a runat="server" href="Master.aspx?loadUC=One" data-target="#collapseOne" data-parent=".accordion"
                                                data-toggle="collapse" class="accordion-toggle tab_design" target="_self" aria-expanded="true" aria-controls="collapseOne">
                                                <span class="glyphicon glyphicon-plus" id="spanOne" runat="server"></span>
                                                <asp:Label ID="lblTabOne" runat="server" Text="TabOne"></asp:Label>
                                            </a>
                                        </h4>
                                    </div>
                                    <div class="panel-collapse collapse" runat="server" id="collapseOne">
                                        <div class="panel-body">
                                            <div runat="server" id="divOne">
                                            </div>
                                        </div>
                                    </div>
                                </div>


                               <div class="panel panel-default">
                                    <div class="panel-heading">
                                        <h4 class="panel-title">
                                            <a runat="server" href="Master.aspx?loadUC=One" data-target="#collapseTwo" data-parent=".accordion"
                                                data-toggle="collapse" class="accordion-toggle tab_design" target="_self" aria-expanded="true" aria-controls="collapseOne">
                                                <span class="glyphicon glyphicon-plus" id="spanTwo" runat="server"></span>
                                                <asp:Label ID="lblTabTwo" runat="server" Text="TabTwo"></asp:Label>
                                            </a>
                                        </h4>
                                    </div>
                                    <div class="panel-collapse collapse" runat="server" id="collapseTwo">
                                        <div class="panel-body">
                                            <div runat="server" id="divTwo">
                                            </div>
                                        </div>
                                    </div>
                                </div>

        </div>
第4步:若你们点击Bootstarp标签按钮或加号图标或标签标题,它将从codebehind中添加“panel collapse in”类,并删除panel collapse类

第5步:若你们再次点击Bootstarp标签按钮或减号图标或标签标题,它将从codebehind中添加“panel collapse”类,并移除类中的panel collapse。它将按预期工作


步骤5:将所有页面绑定方法、dropdownlistbinding方法等方法放在Page_Init()mentod中,始终使用第二个参数
parseInt
$scope.fnDisplayQuestions = function(qListName, index) { 
$scope.selectedQuestions=true;          
    $scope.indexQList = index;
    $scope.sQList = qListName;
if (parseInt(window.localStorage.getItem('currentRound')) == 1) {
        getCandidateInterviewListService.fnGetQuestions(qListName).then(function(response) {
            $scope.aQuestions = response;
        });
    } else {
        getCandidateInterviewListService.fnGetQuesRoundBased(qListName).then(function(response) {
            $scope.aQuestions = response;
        });
    }
            <div class="panel-group accordion" runat="server" id="parenAccordian">                                   
                               <div class="panel panel-default">
                                    <div class="panel-heading">
                                        <h4 class="panel-title">
                                            <a runat="server" href="Master.aspx?loadUC=One" data-target="#collapseOne" data-parent=".accordion"
                                                data-toggle="collapse" class="accordion-toggle tab_design" target="_self" aria-expanded="true" aria-controls="collapseOne">
                                                <span class="glyphicon glyphicon-plus" id="spanOne" runat="server"></span>
                                                <asp:Label ID="lblTabOne" runat="server" Text="TabOne"></asp:Label>
                                            </a>
                                        </h4>
                                    </div>
                                    <div class="panel-collapse collapse" runat="server" id="collapseOne">
                                        <div class="panel-body">
                                            <div runat="server" id="divOne">
                                            </div>
                                        </div>
                                    </div>
                                </div>


                               <div class="panel panel-default">
                                    <div class="panel-heading">
                                        <h4 class="panel-title">
                                            <a runat="server" href="Master.aspx?loadUC=One" data-target="#collapseTwo" data-parent=".accordion"
                                                data-toggle="collapse" class="accordion-toggle tab_design" target="_self" aria-expanded="true" aria-controls="collapseOne">
                                                <span class="glyphicon glyphicon-plus" id="spanTwo" runat="server"></span>
                                                <asp:Label ID="lblTabTwo" runat="server" Text="TabTwo"></asp:Label>
                                            </a>
                                        </h4>
                                    </div>
                                    <div class="panel-collapse collapse" runat="server" id="collapseTwo">
                                        <div class="panel-body">
                                            <div runat="server" id="divTwo">
                                            </div>
                                        </div>
                                    </div>
                                </div>

        </div>
         string userControlID = ((System.Web.UI.Page)(sender)).ClientQueryString;
        var controlID = userControlID.Substring(userControlID.LastIndexOf('=') + 1);
        if (Request.QueryString["loadUC"] == controlID)
        {
            //get clicked control id
            HtmlGenericControl collapseDiv = (HtmlGenericControl)parenAccordian.FindControl("collapse" + controlID);
            collapseDiv.ID = "collapse" + controlID;
            collapseDiv.Attributes.Add("id", collapseDiv.ID);

            //load clicked user control and add bind to html div
            UserControl userControl = (UserControl)Page.LoadControl("~/UserControls/ModuleEngineering/SystemConfiguration/" + "UC" + controlID + "System.ascx");
            userControl.ID = "test";
            string userControlDivID = "div";
            string modifiedControlDivID = userControlDivID.Insert(3, controlID + "Data");

            HtmlGenericControl userControlDiv = (HtmlGenericControl)parenAccordian.FindControl(modifiedControlDivID);
            userControlDiv.ID = modifiedControlDivID;
            userControlDiv.Controls.Add(userControl);

            //add remove collapse plus minus class on click
            HtmlGenericControl spanDiv = (HtmlGenericControl)parenAccordian.FindControl("span" + controlID);
            spanDiv.ID = "span" + spanDiv;
            spanDiv.Attributes.Add("id", spanDiv.ID);

            string newTabValue = Convert.ToString(Session["NewCollapseTabValue"]);
            if (Session["NewCollapseValue"] == null)
            {
                Session["NewCollapseValue"] = "panel-collapse collapse";
            }
            if (Request.QueryString["loadUC"] == newTabValue)
            {
                if (Request.QueryString["loadUC"] == newTabValue)
                {
                    if (collapseDiv.Attributes["class"] != Convert.ToString(Session["NewCollapseValue"]))
                    {
                        collapseDiv.Attributes.Add("class", "panel-collapse collapse");
                        spanDiv.Attributes.Add("class", "glyphicon glyphicon-plus");
                    }
                    else
                    {
                        collapseDiv.Attributes.Add("class", "panel-collapse collapse in");
                        spanDiv.Attributes.Add("class", "glyphicon glyphicon-minus");
                    }
                }
                if (Request.QueryString["loadUC"] != newTabValue)
                {
                    if (collapseDiv.Attributes["class"] != Convert.ToString(Session["NewCollapseValue"]))
                    {
                        collapseDiv.Attributes.Add("class", "panel-collapse collapse in");
                        spanDiv.Attributes.Add("class", "glyphicon glyphicon-minus");
                    }
                    else
                    {
                        collapseDiv.Attributes.Add("class", "panel-collapse collapse");
                        spanDiv.Attributes.Add("class", "glyphicon glyphicon-plus");
                    }
                }
                Session["NewCollapseValue"] = collapseDiv.Attributes["class"];
            }
            if (Request.QueryString["loadUC"] != newTabValue)
            {
                if (collapseDiv.Attributes["class"] == Convert.ToString(Session["NewCollapseValue"]))
                {
                    if (collapseDiv.Attributes["class"] == Convert.ToString(Session["NewCollapseValue"]))
                    {
                        collapseDiv.Attributes.Add("class", "panel-collapse collapse in");
                        spanDiv.Attributes.Add("class", "glyphicon glyphicon-minus");
                    }
                    else
                    {
                        collapseDiv.Attributes.Add("class", "panel-collapse collapse");
                        spanDiv.Attributes.Add("class", "glyphicon glyphicon-plus");
                    }
                }
                else if (collapseDiv.Attributes["class"] != Convert.ToString(Session["NewCollapseValue"]))
                {
                    if (collapseDiv.Attributes["class"] != Convert.ToString(Session["NewCollapseValue"]))
                    {
                        collapseDiv.Attributes.Add("class", "panel-collapse collapse in");
                        spanDiv.Attributes.Add("class", "glyphicon glyphicon-minus");
                    }
                    else
                    {
                        collapseDiv.Attributes.Add("class", "panel-collapse collapse");
                        spanDiv.Attributes.Add("class", "glyphicon glyphicon-plus");
                    }
                }
                Session["NewCollapseValue"] = collapseDiv.Attributes["class"];
            }
            Session["NewCollapseTabValue"] = controlID;