【问题标题】:Button clicked reset the dropdown selector单击按钮重置下拉选择器
【发布时间】:2026-02-03 01:25:01
【问题描述】:

我有一个这样的选择器:

<select ng-model="type">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select>

还有一个按钮:

    <div class="btn action-btn" onclick="$ctrl.doSomething()">
        Reset
    </div>

我在想,当单击按钮时,无论选择哪一个,选择器都会重置为值 1。

我猜肯定有一个函数要调用,必须在控制器中实现,但是选择器没有连接到控制器,所以我不知道该函数如何改变选择器的值。

有什么建议吗?

【问题讨论】:

  • 你在用Angularjs吗?
  • ng-click="type=1"
  • 但是选择器没有连接到控制器这是什么意思?
  • @GeorgeBailey 可能onclick 没有做任何事情,他需要ng-click 代替
  • 如果上述代码在同一个文件中并且您使用的是 angular,那么 @AlekseySolovey 的建议应该可以工作。你在这里需要任何控制器。按钮和选择都在同一个文件中,并且您使用选择来制作 ng-model。所以他们都有相同的范围

标签: javascript html angularjs


【解决方案1】:

尝试使用ng-click并在点击事件中设置模型值

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    $scope.doSomething = function() {
    	$scope.type = '1';
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myCtrl">
<select ng-model="type">
    <option value="1">1</option>
    <option value="2">2</option>
    <option value="3">3</option>
</select>

<div class="btn action-btn" ng-click="doSomething()">
        Reset
    </div>
</div>

【讨论】:

  • 我看到您的示例正在运行,但在我的情况下不起作用,不知道为什么。这是我的代码的一部分,也许更简单:pastebin.com/p0ZskdGr
  • @LeoMessi 尝试使用 ng-model="$ctrl.type" 并告诉我这是否有效。
  • 它重置了选择器,但表上的数据被冻结了,那里什么也没有发生..
  • 这是表的tr:&lt;tr ng-repeat="rows in $ctrl.alertsResponse | orderBy:$ctrl.sort.active:$ctrl.sort.descending | filter: {Type:type} track by $index"&gt;
  • @LeoMessi 请发布一个有确切问题的问题。这似乎是一个相关的功能。
最近更新 更多