PHP code
<script>
var statistics_onchange=function(){
     alert("ok");
     //如何写这个方法 
}
</script>
<select name="select" id="statistics" onchange="statistics_onchange();">
      <option>请选择</option>
      <option value="region">地域</option>
      <option value="province">省份</option>
      <option value="city">城市</option>
      <option value="businame">性质</option>
      <option value="bsname">子类</option>
      <option value="brand">品牌</option>
      <option value="pusn">现维护人</option>
    </select>这是我的下拉框列表,现在需要做的操作是:当我点击一个下拉框的值,就会去查询这个下拉框对应的sql语句。
  本人遇到的问题是;1)statistics_onchange()这个事件该如何写???????(该怎么将值从客户端传到服务端之后再执行sql语句的时候进行判断!),
说明一点,每一个下拉框的值对应的sql语句是不一样的!!!!!!!!
 

解决方案 »

  1.   

        function statistics_onchange()
        {
           var str=document.getElementById("statistics").value;//获取value值
           //提交给后台
        }
        
      

  2.   

    提交给后台的处理看你用什么方式实现了 Ajax比较好  
      

  3.   

    也可以把sql存放在后台
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <script>
    var sqlMap = {
    region:'select * from region'
    ,province:'select * from province'
    ,city:'select * from city'
    // 以此类推
    };var statistics_onchange=function(){
    var sql = document.getElementById("statistics").value;
    alert('向后台发送sql: '+sqlMap[sql]); 
    }
    </script> </HEAD> <BODY>
      <select name="select" id="statistics" onchange="statistics_onchange();">
      <option>请选择</option>
      <option value="region">地域</option>
      <option value="province">省份</option>
      <option value="city">城市</option>
      <option value="businame">性质</option>
      <option value="bsname">子类</option>
      <option value="brand">品牌</option>
      <option value="pusn">现维护人</option>
      </select>
     </BODY>
    </HTML>
      

  4.   

    各位答案如下:1)第一种方法<script type="text/javascript">
    function statistics_onchange(str)
    {
    var PackageID='<{$packageid}>';
    var xmlhttp;    
    if (str=="")
      {
      document.getElementById("aa").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("aa").innerHTML=xmlhttp.responseText;
         //$("#aa").html(xmlhttp.responseText);
        }
      }
    xmlhttp.open("GET","/?p=Customersend&action=Statistics&Statistics="+str+"&PackageID="+PackageID,true);
    xmlhttp.send();
    }
    </script>2)var statistics_onchange=function(key){
        var PackageID='<{$packageid}>';
    var url = "/?p=Customersend&action=Statistics&Statistics="+key+"&PackageID="+PackageID;
        $.get(url,function(data){
    $("#aa").html(data);
    });
    };第二种方法
      

  5.   

    第三种方法: <script >
     var statistics_onchange=function(key){
      var PackageID='<{$packageid}>';
     $.ajax({
     type:'get',
     url:'/?p=Customersend',
     dataType:"html",
     data:'action=statistics'+'&Statistics='+key+'&PackageID='+PackageID,
     success:function(html){
     $("#aa").html(html);
     }
     }) ;
    }
    </script>