onchange 2在1个下拉列表中起作用

时间:2013-04-24 18:16:41

标签: javascript forms jquery drop-down-menu

我想从一个下拉菜单中调用两个函数。似乎我只能得到一个工作,但不是两个。寻找一些帮助整理出来。这是代码,谢谢。

功能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>

我可以让任何一个人独自工作,而不是一起工作。谢谢你的帮助。

1 个答案:

答案 0 :(得分:2)

完全可以理解你想让它们分开。如何创建这样的新功能。

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

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

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

这是一个fiddle,应该会给你一个更好的主意。我认为不必像现在的代码那样调用onload函数。