我有一个小调查的网页。我想根据前一个问题的用户输入预先填充一些答案。
在下面的代码中,如果id QR~QID3的值取决于QID1_Total的值。但是,在加载页面后,即使满足条件,文本框也不会填充正确的值。
.addOnload(function()
{
if(document.getElementById("QID1_Total").value>15) {
document.getElementById("QR~QID3").value = "Good";
}
else{
document.getElementById("QR~QID3").value = "Average";
}
});
答案 0 :(得分:4)
$("#QID1_Total").on("input", function() {
//statements goes here
});
使用on("input"
将跟踪每个输入事件,包括删除和粘贴。
了解有关onInput的更多信息:https://mathiasbynens.be/notes/oninput
以下是了解触发器如何工作的小提琴示例: https://jsfiddle.net/5sotpa63/
假设
让我们假设您正在使用一个函数,该函数根据用户输入显示Good和Average。
var targetElem = document.getElementById("QID1_Total");
var showComment = (targetElem,value>15) ? "Good" : "Average";
document.getElementById("QR~QID3").value = showComment;
上面的代码是你问题中提到的自己陈述的较短方法。
现在,在更改目标QR~QID3
时,您需要加载一些内容。您使用以下代码如下。
$("#QR~QID3").on("input", function() {
//your next question loading statements goes here,
//statements to proceed when you show some comment Good or Average
}).trigger("input");
希望!这可能会有所帮助。
答案 1 :(得分:1)
$('#QID1_Total')。keydown(function(){
//你的代码
});
当在输入字段中按下鼠标键时,该函数被称为
答案 2 :(得分:1)
您需要向“QID1_Total”元素添加事件侦听器。 如果要在用户更改输入时运行检查,即在每次按键后使用 oninput 事件。 如果要在用户完成输入后运行检查,请使用 onchange 事件。 onchange 事件仅在输入失去焦点后才会触发。
您可以使用addEventListener()函数绑定事件侦听器,如下所示:
document.getElementById("QID1_Total").addEventListener("input", function(){
//Code goes here
});
Here is a JSFiddle showing both methods.
您还必须在文本框值上使用parseInt()函数,然后才能使用它们执行数学函数。