Jquery 无法使用下拉菜单更改视图。我可以获得下拉列表,但单击不会更改视图

Jquery 无法使用下拉菜单更改视图。我可以获得下拉列表,但单击不会更改视图,jquery,html,css,angularjs,Jquery,Html,Css,Angularjs,在我的应用程序中有不同的视图,所以我有一个下拉列表,用户可以更改视图。我可以查看下拉列表,但无法通过单击它来更改视图。这发生在chrome和Opera中 <div class="btn-group btn-group-xs" > <button type="button" class="btn btn-xs btn-default" data-toggle="dropdown"> <table border="0" cellpadding="0" cells

在我的应用程序中有不同的视图,所以我有一个下拉列表,用户可以更改视图。我可以查看下拉列表,但无法通过单击它来更改视图。这发生在chrome和Opera中

<div class="btn-group btn-group-xs" >
<button type="button" class="btn btn-xs btn-default" data-toggle="dropdown">
    <table border="0" cellpadding="0" cellspacing="0">
        <tr>
            <td ng-if="(view==1)">View 1</td>
            <td ng-if="(view.id==1)">View 2</td>
            <td ng-if="(view==1)">View 3</td>
            <td class="width10"><span class="fa fa-caret-down"></span><span class="sr-only">Toggle Dropdown</span></td>
        </tr>
    </table>
</button>
<ul role="menu" class="dropdown-menu">
    <li class="dropdown-submenu" ng-click="loadView(1)">
        <div class="">
            <table border="0" cellpadding="0" cellspacing="0">
                <tr>
                    <td>View 1</td>
                </tr>
            </table>
        </div>
    </li>
    <li class="dropdown-submenu" ng-click="loadView(2)">
        <div class="">
            <table border="0" cellpadding="0" cellspacing="0">
                <tr>
                    <td>View 1</td>
                </tr>
            </table>
        </div>
    </li>
    <li class="dropdown-submenu" ng-click="loadView(3)">
        <div class="">
            <table border="0" cellpadding="0" cellspacing="0">
                <tr>
                    <td>View 1</td>
                </tr>
            </table>
        </div>
    </li>
</ul>

视图1
视图2
视图3
切换下拉列表
  • 视图1
  • 视图1
  • 视图1

我不太清楚ng if在做什么,并且没有函数的代码
loadView()
。我认为,您希望在函数中传递1到3作为参数,然后使用此数字显示/隐藏视图。也许这有助于:

在控制器中声明一个变量:

$scope.viewNumber = 1; //Default loading view 1
而不是像这样编写函数:

$scope.loadView() = function(viewNr) {
    $scope.viewNumber = viewNr;
}
<td ng-if="viewNumber == 1">View 1, if viewNumber is 1</td>
<td ng-if="viewNumber == 2">View 2, if viewNumber is 2</td>
<td ng-if="viewNumber == 3">View 3, if viewNumber is 3</td>
然后使用
ng,如果如下所示:

$scope.loadView() = function(viewNr) {
    $scope.viewNumber = viewNr;
}
<td ng-if="viewNumber == 1">View 1, if viewNumber is 1</td>
<td ng-if="viewNumber == 2">View 2, if viewNumber is 2</td>
<td ng-if="viewNumber == 3">View 3, if viewNumber is 3</td>
视图1,如果viewNumber为1
视图2,如果viewNumber为2
视图3,如果viewNumber为3

所以我不确定这是否是你想要的解决方案,但也不清楚,你真正想要实现的是什么。。。下面我要做的是,为视图编号声明一个变量,当我单击下拉列表中的
li
元素时,我将其作为参数传递给我的函数。然后,我用这个数字更改三个视图,并在
ng if
中检查它。我希望这对您有所帮助。

不使用a有什么原因吗?您能给出css和js的一个片段,让我们看看到底发生了什么…我需要用按钮组制作这个下拉列表,为用户提供更多选项。好的,请给我们发一个片段或其他东西。。。例如: