angularJS:根据变量值禁用链接,并显示消息框

时间:2016-03-16 17:12:45

标签: javascript angularjs save angularjs-ng-disabled

我正在努力弄清楚如何根据布尔变量的值禁用ng-click事件。

我有一个表单,用户必须在其上单击(+)符号/链接以添加新记录,当用户执行此操作时,会触发一个小函数,并将布尔值设置为false。

代码:

vm.addNewRecord = function (formClass) {
    vm.hasID = false;
};

表单有一个图标/链接,允许用户将有关参与者的信息保存到记录中。

代码:

<div class="icon">
    <a ng-click="addParticipants(data)">
        <i class="fa fa-fw fa-plus"></i>
    </a>
</div>                        

该问题是此信息取决于记录ID,但此ID尚不存在。

我需要能够禁用ng-click: addParticipants(data)是hasId = false的值,同时(以某种方式)允许用户单击它在以下行中显示一条消息:“请在添加参与者之前保存此记录。”

到目前为止我尝试了什么,但没有成功:

<div class="datagrid-icon">
    <a ng-click="datagrid.add(datagrid)" ng-disabled="!hasID">
        <i class="fa fa-fw fa-plus"></i>
    </a>
</div>

<div class="datagrid-icon">
    <a ng-click="datagrid.add(datagrid)"  ng-class="{'disabled': !hasID}">>
        <i class="fa fa-fw fa-plus"></i>
    </a>
</div>

我检查了hasID的值,但它是false,但我仍然可以点击addParticipants的(+)符号。而且,我不知道如果我设法禁用点击,我将显示指示用户首先保存主记录的消息,然后添加参与者将是可能的。

如果有人可以提供一些帮助来解决这个问题,那将非常感激。

谢谢。

1 个答案:

答案 0 :(得分:0)

要禁用您可以执行的链接

WHERE MATCH(s.tags) AGAINST (+'keyword1 keyword2 ...' IN BOOLEAN MODE)

但是在控制器中有一个方法,比如

更好
<a ng-click="hasID && datagrid.add(datagrid)">
    <i class="fa fa-fw fa-plus"></i>
</a>