使用按钮清除Angular中的输入,但同样的按钮也用作ng-show的一部分

时间:2015-06-09 14:47:05

标签: javascript angularjs

首先,我可以想象这个问题的主题不是很明确,所以很抱歉。 我正在使用一个带有ng-click的按钮来显示输入(ng-show)和另外两个按钮(发送,取消)。为了再次隐藏输入,我使用"取消"按钮。但我也想清楚输入的价值。问题是我不知道如何调用clear函数以及使用相同的按钮再次隐藏输入。 这是我的代码:

    <button class="btn-share" ng-click="showme = !showme" clickng-class="{true: 'hideBtn', false: 'btn btn-xs btn-danger'}[showme]">
    show input.
    </button>

    <div class="form-group" ng-show="showme">
        <input id="myInput2" class="typeahead" sf-typeahead type="text" datasets="userDataset" ng-model="searchUser" >
        <button ng-click="showme=false" class="btn btn-xs">Cancel</button>
        <button ng-click="send()" class="btn btn-success btn-xs btn-sent">Send</button>
    </div>

    $scope.showme = false;

2 个答案:

答案 0 :(得分:1)

只需更新您的代码

<button class="btn-share" ng-click="showme = !showme" clickng-class="{true: 'hideBtn', false: 'btn btn-xs btn-danger'}[showme]">

<button class="btn-share" ng-click="searchUser='';showme = !showme" clickng-class="{true: 'hideBtn', false: 'btn btn-xs btn-danger'}[showme]">

我添加了searchUser =&#39;&#39;在ng-click中。因此,当用户单击它时,它将首先将searchUser更新为范围内的空字符串,然后更新范围内的showMe。

如果你在取消后不想要信息,你可以点击取消按钮来做同样的事情。

这是一个吸引你的人 - http://plnkr.co/edit/X9wbGYsBoIXxR7QmE1zP?p=preview

答案 1 :(得分:0)

如果将此行添加到clear()函数:

$scope.showme = false;

它将调用该函数并将showme变量设置为false,从而隐藏div!

所以你的明确功能可能如下所示:

$scope.clear = function() {
    $scope.searchUser = "";
    $scope.showme = false;
}