我正在渲染以下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
发生变化时,显示的文字不是。
如果您对此有任何意见,我们将非常感谢! 提前谢谢!