我有几个输入。当用户在输入中输入内容时,我想使用函数获取其值和id。最好的方法是什么?
<input type="number" class="form-control" id="id1">
<input type="number" class="form-control" id="id2">
.
.
<input type="number" class="form-control" id="id9">
<input type="number" class="form-control" id="id10">
<script>
function getIdVal(){
// how to get those values and ids from this function?
}
</script>
答案 0 :(得分:3)
使用change/keyup/keydown
事件(可以根据需要将其替换为另一个事件),您可以执行以下操作:
<input type="number" class="form-control" onchange="run(this)" id="id1">
<input type="number" class="form-control" onchange="run(this)" id="id2">
<input type="number" class="form-control" onchange="run(this)" id="id9">
<input type="number" class="form-control" onchange="run(this)" id="id10">
还有您的JS
function run(ele){
var id = ele.id;
var value = ele.value;
console.log(id, value);
}
这里是JSFiddle。
答案 1 :(得分:0)
尝试一下。每当您键入内容(包括退格键)时,就会触发键事件onkeyup并调用getIdVal
函数。
<input type="number" class="form-control" onkeyup="getIdVal(this)" id="id1">
<input type="number" class="form-control" onkeyup="getIdVal(this)" id="id2">
.
.
<input type="number" class="form-control" onkeyup="getIdVal(this)" id="id9">
<input type="number" class="form-control" onkeyup="getIdVal(this)" id="id10">
<script>
function getIdVal(obj) {
// how to get those values and ids from this function?
console.log(obj.id)
console.log(obj.value)
}
</script>
答案 2 :(得分:0)
<input type="text" id="fname1" onkeyup="myFunction('fname1');">
<input type="text" id="fname2" onkeyup="myFunction('fname2');">
function myFunction(ids) {
var x = document.getElementById(ids);
alert("Value: "+x.value + " ID: "+x.id);
}