我有两个input和一个select如<input type="text" name="name" onchage="checkSelector()">
<input type="text" name="id"><select name="name_selector">
<option value="">请选择</option>
<option value="1">丁某</option>
<option value="2">贾某</option>
</select>当第一个input值发生变化时,检查第一个input的值是否在select中,如果不在,则把第二个input的值改为空,select 恢复到第一个选项。如 第一个input 由 贾某 变化为 乙某,而 乙某 不在 丁某和贾某 中,所以 select 要恢复到 请选择 上,第二个input值要变为空。求checkSelector()的js写法
<input type="text" name="id"><select name="name_selector">
<option value="">请选择</option>
<option value="1">丁某</option>
<option value="2">贾某</option>
</select>当第一个input值发生变化时,检查第一个input的值是否在select中,如果不在,则把第二个input的值改为空,select 恢复到第一个选项。如 第一个input 由 贾某 变化为 乙某,而 乙某 不在 丁某和贾某 中,所以 select 要恢复到 请选择 上,第二个input值要变为空。求checkSelector()的js写法
var o = document.getElementsByName("select").name_selector;
for(var i = 0; i < o.options.length; i++) {
if(obj.value == o.options[i].text) {
o.value = o.options[i].value;
return ;
}
} o.value = "";
document.getElementsByName["input"].id.value = "";
}程序没有测试,你先试试先。
<script>
function checkSelector(){
var f = document.forms[0];
var v = f.elements["name"].value;
var sel = f.name_selector;
var b = false;
for(var i=0;i<sel.options.length;i++){
if(sel.options[i].text==v){sel.options[i].selected = true;b=true;break;}
}
if(!b){
f.elements["id"].value="";
sel.options[0].selected = true;
}
}
</script><form>
<input type="text" name="name" onchange="checkSelector()">
<input type="text" name="id"> <select name="name_selector">
<option value="">请选择</option>
<option value="1">丁某</option>
<option value="2">贾某</option>
</select>
</form>
<html>
<body>
<input type="text" name="name" onchange="checkSelector(this)">
<input type="text" name="id"><select name="name_selector">
<option value="">请选择 </option>
<option value="1">丁某 </option>
<option value="2">贾某 </option>
</select><script type="text/javascript">
function checkSelector(obj) {
var o = document.getElementsByName("name_selector")[0];
for(var i = 0; i < o.options.length; i++) {
if(obj.value == o.options[i].text) {
o.value = o.options[i].value; return ;
}
}
o.value = ""; document.getElementsByName["name"][0].value = "";
}
</script>
</body>
</html>