更改输入值并提交angularjs

时间:2017-03-18 10:47:21

标签: javascript angularjs

我需要在页面中创建机器人来完成一些工作,我需要更改年份和月份的值,并在手动放置值时提交一切正常但是当我使用这样的javascript时:

IQueryable<Student> allStudents = yourDbContext.Set<Student>().AsQueryable();  

这是我的网页代码:

document.getElementsByName('dateeffet-annee')[0].value='2017';
document.getElementsByName('dateeffet-annee')[0].focus();
document.getElementsByName('dateeffet-mois')[0].value='12';
document.getElementsByName('dateeffet-mois')[0].focus();

你能帮助改变价值并通过javascript从控制台提交更改,因为这不是我的网站

2 个答案:

答案 0 :(得分:0)

如果您以这种方式更新值,而不是“角度方式”(在控制器内部,使用角度jqlite),您应该在$ scope。$ apply函数内执行代码,强制angular更新值。像这样的东西应该在角度控制器之外工作:

$scope.$apply(function () {
    document.getElementsByName('dateeffet-annee')[0].value='2017';
    document.getElementsByName('dateeffet-mois')[0].value='12';
});

答案 1 :(得分:0)

我通过此代码解决了这个问题

document.getElementsByName('dateeffet-annee')[0].value='2017';
    document.getElementsByName('dateeffet-mois')[0].value='12';
    var $parent = $("[name='dateeffet']");
    $parent.find("input").each(function(){
        var $this = $(this);
        angular.element($this.get(0)).triggerHandler("blur");
    });
    angular.element($parent.get(0)).scope().saveDateEffet();