在1个下拉菜单上更改2个功能

onchange 2 functions on 1 dropdown

本文关键字:2个 功能 1个 下拉菜单      更新时间:2023-09-26

我有2个函数,我想从一个下拉菜单调用。似乎我只能让一个工作,而不是两个。希望你能帮我解决这个问题。这是代码,谢谢。

函数1

<script type="text/javascript">
function getCredit(str)
{
if (str=="")
  {
  document.getElementById("credit").innerHTML="";
return;
  }
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("credit").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","getcredit.php?id="+str,true);
xmlhttp.send();
}
window.onload = function() {
document.getElementsByName('company')[0].onchange();
}
</script>

函数2

<script type="text/javascript">
function getTerms(str)
{
if (str=="")
  {
  document.getElementById("terms").innerHTML="";
return;
  }
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("terms").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","customertermsdropdownquery.php?id="+str,true);
xmlhttp.send();
}
window.onload = function() {
document.getElementsByName('company')[0].onchange();
}
</script>

这里是调用它们的表单下拉列表

<td><select name="company" onchange="getTerms(this.value);getCredit(this.value);">
<?php while($row = mysql_fetch_array($result)) {
  echo "<option value='"".$row['company']."'">".$row['company']." (".$row['first']." ".$row['last'].")</option>"; } ?></select></td>

我在表单中使用div来显示php。

<div id="terms"></div>
and
<div id="credit"></div>

我可以让其中任何一个单独工作,只是不能一起工作。谢谢你的帮助。

完全可以理解你想把它们分开。像这样创建一个新函数怎么样?

function getTermsAndCredits(value) {
   getTerms(value);
   getCredits(value);
}

然后在onchange事件中像这样调用

<td><select name="company" onchange="getTermsAndCredits(this.value);">

这里有一个小提琴,它会给你一个更好的主意。我不认为有必要调用onload函数,因为你现在的代码。