Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS-将焦点设置为第一个文本框之后的下一个文本框_Javascript_Angularjs_Angular Material_Angularjs Watch - Fatal编程技术网

Javascript AngularJS-将焦点设置为第一个文本框之后的下一个文本框

Javascript AngularJS-将焦点设置为第一个文本框之后的下一个文本框,javascript,angularjs,angular-material,angularjs-watch,Javascript,Angularjs,Angular Material,Angularjs Watch,嗨,我目前正在我的两个文本框中处理日期时间选择器输入 我想做的是,当用户在第一个文本框中选择日期后,会弹出第二个文本框的日期时间选择器。用户无需单击第二个框 这是我的密码 html 我不熟悉angularjs,尤其是javascript部分。非常感谢您的帮助。:) 只需使用如下所示的选项卡索引即可 更新 我已经更新了id和ng模型变量。您对开始日期和结束日期使用了相同的名称,但不正确 HTML代码如下所示 <md-input-container> <input ti

嗨,我目前正在我的两个文本框中处理日期时间选择器输入

我想做的是,当用户在第一个文本框中选择日期后,会弹出第二个文本框的日期时间选择器。用户无需单击第二个框

这是我的密码

html


我不熟悉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();
        }
    });