javascript - <option> 点击事件 angularjs

标签 javascript angularjs twitter-bootstrap bootstrap-modal

有没有办法将事件绑定(bind)到 jquery 或 angularjs 中的选项标签。我专门寻找特定选项的点击事件。

考虑这里的一个例子

<select>
    <option>Last Month</option>
    <option>Last Year</option>
    <option onclick='showDatePicker()'>Custom Range</option>
</select>

我有一个选择下拉列表,其中有三个选项,前两个很简单,而第三个则有点复杂。每当用户选择自定义范围(选项 3)时,我都需要显示一个 Bootstrap 模型,在其中放置 Bootstrap 自定义日期选择器。我可以通过添加更改事件处理程序来选择元素来使其工作,但随后出现的问题是,如果用户选择 Ccustom Range 选项并使用 datepicker 选择日期并关闭模式会怎样。之后,用户尝试再次选择“自定义范围”选项来更改所选的日期范围。那么这个更改事件将不会触发,因此 Bootstrap 模式将不会显示。

重要提示: 我们在模式中显示日期选择器( Bootstrap 或任何其他),一旦用户选择模式将关闭的日期。

最佳答案

您需要使用ngChange

模板:

<select ng-change="showDatePicker()" ng-model="value">
  <option value="month">Last Month</option>
  <option value="year">Last Year</option>
  <option value="custom">Custom Range</option>
</select>

Controller :

function MyCtrl($scope) {
  $scope.isClicked = false;
  $scope.value = 'month';

  $scope.showDatePicker = function() {
    if($scope.value == 'custom') {
      $scope.isClicked = true;
    } else {
      $scope.isClicked = false;
    }
  }
}

这是一个工作 fiddle :http://jsfiddle.net/trollr/ugfbo9x2/

关于javascript - <option> 点击事件 angularjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36568978/

相关文章:

javascript - 如何将变量绑定(bind)到嵌入部分

javascript - 如何在 JavaScript 中捕获按键上的 ALT+N

javascript - 在 AngularJS 中,我的指令无法访问 $http 中定义的父 Controller 的 $scope 属性

css - offset-4 元素不对齐

javascript - 从 React 中的同一选择下拉表单字段获取多个值

javascript - 如何在选择框或下拉中默认选择第一个选项

javascript - Kendo Scheduler DatePicker 事件

jquery - 带有 html5 的多位置切换或可移动进度条

javascript - 将参数从 View 传递到 Controller 再到 AngularJS 中的工厂

javascript - 哪个跨浏览器事件监听器是正确的(纯 Javascript)