gpt4 book ai didi

javascript - onChange 未在移动设备上触发

转载 作者:行者123 更新时间:2023-12-01 02:26:56 25 4
gpt4 key购买 nike

我知道这个问题已被问过多次,但我找不到正确的答案。我没有使用 select 标签。

我的问题是我有一个 JS 代码,如下所示:

document.getElementById("roomnumber").value = '205';

我有一个动态的,只是我在这个例子中放了“205”,因为它基本上是一样的。我的输入如下:

<input type="text" id="roomnumber" name="roomnumber" onChange="roomnumberValue();">

到目前为止一切顺利。所以我想要的是当这个值改变时改变其他一些输入字段的值。所以我在上面给出的代码中使用了onChange

最后,这是 roomnumberValue() 的代码:

function roomnumberValue() {
var blade1 = {!! json_encode($rooms_cat_1->toJson()) !!};
var roomnumber = document.getElementById("roomnumber").value;
if (blade1.indexOf(roomnumber) < 0) { // doesn't exist
alert('doesnt exist!');
} else { // does exist
document.getElementById("btowelamt").value = "2";
}
}

所以这很简单吧?我使用 JSON encode 来使用 Laravel Blade 引擎中的变量从数据库输出数组。我使用 indexOf 来检查输入字段的值在给定的 JSON 数组上是否有任何匹配的记录。那一点效果很好。当我在输入字段中手动输入数字 205 时,它也适用于 PC 跨浏览器(至少 Chrome 和 Firefox)。但是当使用 document.getElementById("roomnumber").value = '205'; 时,它不起作用。也在手机上。因为就我而言,领域需要聚焦和不聚焦?我希望能够使用 document.getElementById("roomnumber").value = '205 更改 document.getElementById("btowelamt").value = "2"; 的值'; 而不必手动输入。我不想聚焦按键。我希望 JS 更改该值,并据此更改其他字段的值。我不知道如何处理这个问题。

谢谢

最佳答案

onChange 不起作用的原因是,当特定字段失去焦点时会触发 onChange,如果该值与前一个值不匹配,则仅触发该事件。

您可以通过将 onChange 替换为 onKeyUp 来检测即时更改

关于javascript - onChange 未在移动设备上触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48702689/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com