jquery - 无法使用下拉菜单更改 View 。我能够获得下拉菜单,但单击不会更改 View

标签 jquery html css angularjs

在我的应用程序中有不同的 View ,所以我有一个用户可以更改 View 的下拉列表。我可以查看下拉菜单,但无法通过单击来更改 View 。这发生在 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>

最佳答案

我不太清楚你的 ng-if 在做什么,也没有你的函数 loadView() 的代码。我认为,您想在函数中将 1 传递给 3 作为参数,而不是使用此数字显示/隐藏您的 View 。也许这有帮助:

在你的 Controller 中声明一个变量:

$scope.viewNumber = 1; //Default loading view 1

比这样写你的函数:

$scope.loadView() = function(viewNr) {
    $scope.viewNumber = viewNr;
}

然后像这样使用 ng-if:

<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>

所以我不确定这是否是您寻找的解决方案,但也不清楚您真正想要实现的目标...所以我在下面所做的是,为我传递的 View 编号声明一个变量当我单击下拉列表中的 li 元素时,我的函数的参数。然后我用这个数字改变了三个 View ,在 ng-if 中检查它。希望对您有所帮助。

关于jquery - 无法使用下拉菜单更改 View 。我能够获得下拉菜单,但单击不会更改 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41296041/

相关文章:

html - CSS 网格中的缩进

html - 在减小浏览器大小时,使背景填充 100% 浏览器的任何编码

php - http请求AJAX

javascript - SmoothSate.js 问题

javascript - 使用 prevent default 接管空格键

javascript - 单击时弹出 HTML 图像

html - Firefox 和 IE 中线性渐变的代码

javascript - 如何在移动设备上启用长按

html - Sublime Text 语法突出显示正则表达式不起作用

html - JqueryUI 下拉菜单垂直对齐