我知道这个问题已被问过多次,但我找不到正确的答案。我没有使用 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/