效果
oninput 将本输入框的内容作为参数,将操作对象的输入框作为参数
一个函数达到控制多个oninput的效果
知识点
1.函数封装,传参
2.this的用法
3.getAttribute的用法
效果如图
关键代码如下
<tr>
<td>ID1</td>
<td>
<input id="P_PID" oninput="gainPName(this,'NAME1')" />
</td>
<td>名称1</td>
<td>
<input id="NAME1" />
</td>
</tr>
<tr>
<td>ID2</td>
<td>
<input id="P_FID" oninput="gainPName(this,'NAME2')" />
</td>
<td>名称2</td>
<td>
<input id="NAME2" />
</td>
<td>ID3</td>
<td>
<input id="P_MID" oninput="gainPName(this,'NAME3')" />
</td>
<td>名称3</td>
<td>
<input id="NAME3" />
</td>
</tr>
/**
* 实时获取ID的人员信息,并且更改对应的输入框的取值
* @param input 本输入框
* @param toNameID 另一个输入框的ID
*/
function gainPName(input,toNameID){
// console.log(input); //获取这个输入框的内容
// console.log(input.getAttribute("ID")); //获取这个输入框的ID
// console.log( $("#"+input.getAttribute("ID") ).val() ); //获取本输入框的输入的内容
$("#"+toNameID).val("未登记"); //赋初值
var result = gainPersonById( $("#"+input.getAttribute("ID") ).val() );
if(result.length==0){
$("#"+toNameID).val("未登记");
}else{
if(result.get("flag")){
$("#"+toNameID).val(result.get("rs").NAME);
}else{
$("#"+toNameID).val("未登记");
}
}
}