通过控制器动态更改角度材料md-tooltip文本

时间:2016-10-11 14:26:49

标签: jquery ruby-on-rails angularjs coffeescript

我正在渲染以下HTML,它引入了Angular-Material的工具提示和一个初始化为DatePicker的输入字段。

- content_for :top_datepicker do
  .toolbar-icons
    md-tooltip md-direction="bottom" initial text
    input#range-picker.dashboard-daterange-picker.no-margin[type="text"
      placeholder="#{@start_date.strftime("%d.%m.%Y")} - #{@end_date.strftime("%d.%m.%Y")}"
    ]

正如您所看到的,它位于Rails的content_for块内,并在相应的控制器外部呈现。 由于应用程序所处当前状态的性质,我们必须像这样处理它。

在我们的Angular-Controller中,我们希望根据特定条件更改此工具提示的文本。我们进一步使用jQuery来操作DOM的各个部分。

以下代表上述代码将如何在HTML中呈现:

<div class="toolbar-icons" aria-label="perf.data is DISABLED">
    <input class="dashboard-daterange-picker no-margin" id="range-picker" placeholder="21.10.2015 - 11.10.2016" type="text" disabled="">
</div>

调用以下代码以最终操纵工具提示:

updateDatePicker = ->
  el = $scope.el
  isDisabled = $scope.isDisabled()

  if isDisabled
    el.parent().attr("aria-label", "DISABLED")
    el.prop('disabled', true)
  else
    el.parent().attr("aria-label", "ENABLED")
    el.prop('disabled', false)

不幸的是,更改对工具提示文本没有影响。 aria-label发生变化时,显示的文字不是。

如果您对此有任何意见,我们将非常感谢! 提前谢谢!

0 个答案:

没有答案