我想用 javascript/jquery 更改值,但是当我点击提交时,使用旧的初始值而不是我的新值。
我无法更改react代码,我只能使用 javascript/jquery 更改值,如下所示。
var value = "randomIntValue";
$("input[data-reactid='.0.2.0.0.0.0.0.2.0.0.3.0.3.0.0']").val(value).change();
上面的代码不起作用!
我想用 javascript/jquery 更改值,但是当我点击提交时,使用旧的初始值而不是我的新值。
我无法更改react代码,我只能使用 javascript/jquery 更改值,如下所示。
var value = "randomIntValue";
$("input[data-reactid='.0.2.0.0.0.0.0.2.0.0.3.0.3.0.0']").val(value).change();
上面的代码不起作用!
根据我从上面的评论中收集到的信息,您遇到的问题是您正在尝试通过 jQuery 更改 React 控制的组件。
这是不可能的,因为您无法直接从视图更新 React 状态。当您运行 jQuery 代码时,更改只是暂时应用于 DOM,但 React 并不知道这一点。因此,当 React 需要重新渲染视图时,DOM 中的旧值将被覆盖。
此外,通过 访问组件data-reactid
是一种糟糕的方法,因为如果对 React 虚拟 DOM 进行任何更改,则该值可能会更改。
在尝试应用 DOM 更改时,使用 React 和 jQuery 通常是一个坏主意。如果您无法访问/更改任何 React 代码,恐怕您就不走运了。