Javascript AngularJS-将焦点设置为第一个文本框之后的下一个文本框
嗨,我目前正在我的两个文本框中处理日期时间选择器输入 我想做的是,当用户在第一个文本框中选择日期后,会弹出第二个文本框的日期时间选择器。用户无需单击第二个框 这是我的密码 htmlJavascript AngularJS-将焦点设置为第一个文本框之后的下一个文本框,javascript,angularjs,angular-material,angularjs-watch,Javascript,Angularjs,Angular Material,Angularjs Watch,嗨,我目前正在我的两个文本框中处理日期时间选择器输入 我想做的是,当用户在第一个文本框中选择日期后,会弹出第二个文本框的日期时间选择器。用户无需单击第二个框 这是我的密码 html 我不熟悉angularjs,尤其是javascript部分。非常感谢您的帮助。:) 只需使用如下所示的选项卡索引即可 更新 我已经更新了id和ng模型变量。您对开始日期和结束日期使用了相同的名称,但不正确 HTML代码如下所示 <md-input-container> <input ti
我不熟悉angularjs,尤其是javascript部分。非常感谢您的帮助。:) 只需使用如下所示的选项卡索引即可 更新 我已经更新了id和ng模型变量。您对开始日期和结束日期使用了相同的名称,但不正确 HTML代码如下所示
<md-input-container>
<input time="true" date="true" mdc-datetime-picker type="text" id="startdate" placeholder="Start Date" ng-model="startdate" tabindex="1">
</md-input-container>
<md-input-container>
<input time="true" date="true" mdc-datetime-picker type="text" id="enddate" placeholder="End Date" ng-model="enddate" tabindex="2">
</md-input-container>
$scope.$watch('startdate', function (oldval,newval) {
if(oldval!=newval)
{
var enddate = document.getElementById('enddate');
enddate.focus();
}
});
只需在控制器中添加此观察者代码
在第一个文本框中选择日期后,它将检查该值是否与上一个相同。如果没有,则会将焦点设置在结束日期。如果要将其设置为tab,可以执行
tabindex=“1”和tabindex=“2”
两个输入您可以尝试daterangepicker来实现此功能。您可以在指令的第一个文本框上绑定输入
事件,然后将焦点移到第二个文本框上。我相信这正是我需要的@Jai,你能帮我解释一下绑定输入事件的代码,以及如何将焦点移到第二个文本框上吗?我猜你错过了真正的问题。@Jai:看来他想让光标指向第二个文本框。tabindex是解决这个问题的好方法。如果我遗漏了什么,请告诉我。我理解的是:当用户在第一个文本框中选择日期时,然后就在该事件之后。。。。应打开第二个输入的日期选择器。没有任何其他事件。@Jai这正是我想要做的。Thanks@Jai. 谢谢更新答案。
<md-input-container>
<input time="true" date="true" mdc-datetime-picker type="text" id="startdate" placeholder="Start Date" ng-model="startdate" tabindex="1">
</md-input-container>
<md-input-container>
<input time="true" date="true" mdc-datetime-picker type="text" id="enddate" placeholder="End Date" ng-model="enddate" tabindex="2">
</md-input-container>
$scope.$watch('startdate', function (oldval,newval) {
if(oldval!=newval)
{
var enddate = document.getElementById('enddate');
enddate.focus();
}
});