zoukankan      html  css  js  c++  java
  • 【Vegas原创】PHP+jquery实现select的三级联动

    image

    需求:选择科别,可以调出科别的医生;选择医生,可以调出医生所在的诊室

    方法:

    1, HTML js:

    <script src="../js/jquery-1.3.2.js"></script>
       1:  
       2: <script type="text/javascript">
       3:  
       4: $(document).ready(function(){
       5:     $("#dept_no").change(changeDept);
       6:     $("#doc_no").change(changeDoc);    
       7: });
       8:  
       9: function changeDept(){
      10:     var deptno = $("#dept_no").val();
      11:     var timeshift=$("#time_shift").val();
      12:     var opddate=$("#opd_date").val();
      13:     
      14:     //更新医师select
      15:     $.post("changeDeptDocRoom.php",{dept_no:deptno,type:"doc",time_shift:timeshift,opd_date:opddate},function(data){
      16:             var docs = $("#doc_no");//存放医师列表
      17:             var json = eval(data);
      18:             docs.html("");
      19:             if(json.length == 0){
      20:                 docs.append("<option>无医师排程</option>");
      21:                 $("#room_no").val("");
      22:                 $("#room_sno").val("");
      23:             }else{
      24:               for(var i in json){
      25:                   docs.append("<option value='"+json[i].no+"'>"+json[i].no+"  "+json[i].name+"</option>");
      26:               }
      27:             changeDoc();
      28:             }    
      29:         });
      30: }
      31:  
      32: function changeDoc(){
      33:     var docno = $("#doc_no").val();
      34:     var deptno = $("#dept_no").val();
      35:     var timeshift=$("#time_shift").val();
      36:     var opddate=$("#opd_date").val();
      37:  
      38:     //触发roomno text
      39:     $.post("changeDeptDocRoom.php",{doc_no:docno,type:"room",dept_no:deptno,time_shift:timeshift,opd_date:opddate},function(data){
      40:         var roomno = $("#room_no");//存放ROOM No text
      41:         var roomsno= $("#room_sno");//存放ROOM No hidden
      42:         var json=eval(data);
      43:         for (var i in json){
      44:             roomno.val(json[i].name);
      45:             roomsno.val(json[i].no);
      46:             }
      47:     });
      48: }
      49:  
    </script>

    2,HTML代码:

    <tr>
                <td class="textRowLong">看诊日期:</td>
                <td class="textRowLong">
                    <input type="text" class="textboxReadOnly"  value="<?php printf (getDateFormat(uf_get_ctrl_file_sys_date()));?>" name="opd_date" id="opd_date" readonly>
                </td>
            </tr>
            <tr>
                <td class="textRowLong">时段:</td>
                <td class="textRowLong">
                 <select class="selectBoxNoWidth" id="time_shift" name="time_shift">
                  <?php 
                prtCodeDTL("0115",uf_get_time_coder()); ?>
                </select>
                </td>
            </tr>
          <tr>
                <td class="textRowLong">
                    科别:</td>
                <td class="textRowLong">
                    <select class="selectBoxNoWidth"  name="dept_no" id="dept_no">
                      <?php prtdept(""); ?>
                    </select>
                </td>
            </tr>
            <tr>
              <td class="textRowLong"> 医师:</td>
              <td class="textRowLong">
                <select class="selectBoxNoWidth"  name="doc_no" id="doc_no">
    
                </select>
                </td>
                </tr>
                <tr>
                <td class="textRowLong">
                    诊间: </td>
                    <td class="textRowLong">
                <input type="text" class="textboxReadOnly"  name="room_no" id="room_no" readonly>
                <input type="hidden"  name="room_sno" id="room_sno" ></input>
                </td>
                </tr>

    3, prtdept(“) php函数:

    //部门
    function prtdept($dept)
    {
        $query = " SELECT DEPT_FILE.DEPT_NO,DEPT_FILE.S_NAME,DEPT_FILE.INS_DEPT FROM DEPT_FILE order by dept_no ";
    
        $stmt = ociparse(connected_resource(), $query);
        ociexecute($stmt,OCI_DEFAULT);
        $dept_nrows = OCIFetchStatement($stmt,$dept_rows);
        OCIFreeStatement($stmt);
        
       print '<option value=""></option>';
       for ($i = 0;$i < $dept_nrows;$i++)
       {
          if($dept == $dept_rows["S_NAME"][$i])
         $selected = "selected";
          else
         $selected = "";       
          print("<OPTION value=".$dept_rows["DEPT_NO"][$i]." ". $selected.">".$dept_rows["DEPT_NO"][$i]."  ".$dept_rows["S_NAME"][$i]."  ".$dept_rows["INS_DEPT"][$i]."</OPTION>\n"); 
       }
    }
     

    4,  changeDeptDocRoom.php:

    <?php
    $minpath = '/';
    include_once  '../comm/common.inc';
    include_once $minpath . 'reg020view.inc';
    
    
    if ($_POST["type"] == "doc"){
        listDoctor($_POST["dept_no"]);
    }else if ($_POST["type"] == "room")
    {
        getRoom($_POST["doc_no"]);
    }
    //根据科别获取医师列表
    function listDoctor($deptno)
    {    
        $sql = "select distinct opd_sched.doc_no,doc_file.doc_name,dept_no1,dept_no2,dept_no3 from opd_sched,doc_file
                    where opd_sched.doc_no=doc_file.doc_no 
                    and opd_sched.rec_status = 'A'  and opd_sched.orgid='$_SESSION[coid]' and opd_sched.orgid=doc_file.orgid 
                    and to_date(OPD_DATE, 'yyyymmdd')=to_date('".$_POST[opd_date]."','dd/mm/yyyy')  
                    and dept_no1='$deptno' 
                    and opd_sched.time_shift = '".$_POST["time_shift"]."'";
        $stmt = ociparse(connected_resource(), $sql);
        ociexecute($stmt,OCI_DEFAULT);
        $doctor_nrows = OCIFetchStatement($stmt,$doctor_rows);
        OCIFreeStatement($stmt);
        $json = "[";
        if($doctor_nrows !=0){
            for($i = 0;$i < $doctor_nrows;$i++){
                $json .= "{no:\"{$doctor_rows['DOC_NO'][$i]}\",name:\"{$doctor_rows['DOC_NAME'][$i]}\"},";
            }
            $json = substr($json,0,strlen($json)-1);    
        }
       $json .= "]";
       print $json;
    
    }
    //根据获取诊室列表
    function getRoom($docno)
    {    
        
        $v_date=date("ymd");
        $query ="SELECT ROOM_NO,
        (SELECT DESC_1 FROM CODE_DTL T WHERE T.ITEM_CODE=ROOM_NO AND T.ITEM_TYPE='0114' and orgid='$_SESSION[coid]' ) ROOM_NAME 
        FROM OPD_SCHED 
        WHERE opd_sched.rec_status = 'A'  and opd_sched.orgid='$_SESSION[coid]' 
         and to_date(OPD_DATE, 'yyyymmdd')=to_date('".$_POST[opd_date]."','dd/mm/yyyy')  
         AND DEPT_NO1='$_POST[dept_no]' and doc_no='$docno'
         and opd_sched.time_shift = '".$_POST["time_shift"]."'"; 
        
        $stmt = ociparse(connected_resource(), $query);
        ociexecute($stmt,OCI_DEFAULT);
        $room_nrows = OCIFetchStatement($stmt,$room_rows);
        OCIFreeStatement($stmt);
        
        $json = "[";
     
            for($i = 0;$i < $room_nrows;$i++){
                $json .= "{no:\"{$room_rows['ROOM_NO'][$i]}\",name:\"{$room_rows['ROOM_NAME'][$i]}\"},";
            }
            $json = substr($json,0,strlen($json)-1);    
     
       $json .= "]";
       print $json;
        }
    
    acquire_resource();
    ?>
    喜欢请赞赏一下啦^_^
  • 相关阅读:
    HTTP状态码
    Hibernate的配置与简单使用
    Java基础学习总结 -- 多线程的实现
    MySQL学习笔记 -- 数据表的基本操作
    Java基础学习 -- I/O系统、流
    理解文件的编码
    Java基础学习 -- 异常
    Java基础学习 -- GUI之 事件处理基础
    Java基础学习总结 -- 图形用户界面GUI
    Java基础学习 -- 接口
  • 原文地址:https://www.cnblogs.com/amadeuslee/p/3744146.html
Copyright © 2011-2022 走看看