为啥如果角度函数单击按钮,我想更改的值不这样做,但如果我手动按下按钮,它会[重复]

Posted

技术标签:

【中文标题】为啥如果角度函数单击按钮,我想更改的值不这样做,但如果我手动按下按钮,它会[重复]【英文标题】:Why if an angular function clicks the button the values I want to change don't do it but if I manually press the button it does [duplicate]为什么如果角度函数单击按钮,我想更改的值不这样做,但如果我手动按下按钮,它会[重复] 【发布时间】:2016-08-22 05:20:08 【问题描述】:

这里的问题是我有一个表格,可以让他的值形成一个角度函数。我有一个按钮可以更改输入标签的值,我有一个提交按钮来发送这些值。所以当我按下最后一个按钮时它工作正常。但我希望第一个按钮不仅更改表单的值,还单击提交按钮。 所以这里是改变表单值的函数。

 todoList.remove = function(aborrar) 
  if (aborrar.id != undefined || aborrar.id != null) 
    todoList.elaborrar = aborrar.id;
    console.log("si tiene id y es "+aborrar.id);
    todoList.elnoquerido = '/api/users/remove_tags/<%=user.id%>';
    console.log(todoList.elnoquerido);
    $('#elimina').trigger("click"); //THIS IS THE PROBLEM

  ;
  angular.forEach(todoList.todos, function(todo,i) 
    if (aborrar.title==todo.title) 
        todoList.todos.splice(i, 1);
    ;
  );
;

html

<form name='myform2' method="POST" class="" novalidate action="todoList.elnoquerido" >
    <input type="hidden" name="_csrf" value="<%= _csrf %>">
    <input name="aborrars" type="hidden" value="todoList.elaborrar">
    <input id="elimina" class="btn btn-medium btn-primary elimina" type="submit"  value="Eliminar">
  </form>

我认为这可能是因为一些异步的事情?这个我也试过...

document.getElementById("elimina").click();

还有这个

$('#elimina').click();

【问题讨论】:

【参考方案1】:

试试这个,工作fiddle

angular.element('#elimina').triggerHandler('click');

【讨论】:

解释为什么这会起作用。 也不行,还是这个angular.element('#elimina').trigger('click'); 你必须使用triggerHandler$timeout你可以阅读this 我正在为你制作小提琴 在我的回答中添加了工作小提琴,请仔细阅读

以上是关于为啥如果角度函数单击按钮,我想更改的值不这样做,但如果我手动按下按钮,它会[重复]的主要内容,如果未能解决你的问题,请参考以下文章

为啥表格内的按钮在单击时没有获得 td 的值?

我如何使用 QDialogbox 上的确定和取消按钮

如果路由到相同的参数,角度不会重新加载

vue为啥method值不改

Knockout保护可观察

在单击期间更改样式