JAVA___jQuery+AJAX_仿百度搜索功能

JAVA_JQuery+AJAX实现仿百度搜索功能

 

 

先给大家看看效果...

 


 

 

 

 

具体实现步骤.....

第一步:

edit.jsp页面

<tr>

       <td class="rigthtext">选项医生</td>

        <td class="lefttext"><input class="width200" maxlength="40" type="text" id="tj_doctor" name="record.doctor" value="<s:property value="record.doctor"/>" />

         <div id="doctor_namelist_div"

style="border1px solid greenbackground-color#EFEFEFwidth400pxheight300pxdisplaynonepositionabsolutez-index100overflow-yscrolloverflow-xscroll;">

<table class="list_tab">

 

<tr class="row">

<td id="doctor_namelist"></td>

</tr>

</table>

</div>

        </td>

      </tr>

 

 

<javascript type=text/javascript>

$(document).ready(function(){

 

  $("[id='tj_doctor']").keyup(function (){  //这个keyup要写在//$(document).ready,还要那个keyup,keydown,keypress自己百度看看

   var doctor_name = $("[id='tj_doctor']").val();

  $.ajax({

  type : "POST",

  cache : false,

  url : "${rootPath}/workers/ajaxDoctorName.htm?doctor_name="

  + doctor_name,

  dataType : "json",

  data : {},

  async : false,

  success : function(data) {

  var htmlStr = "";

  if (data&& data.length > 0) {

  htmlStr += "<table class=\"list_tab\">";

  for ( var i = 0; i < data.length; i++) {

  htmlStr += "<tr class=\"row\" οnclick=\"selectDName('"+(i+1)+"_dName')\">";

  htmlStr += "<td id=\""+(i+1)+"_dName\" style=\"text-align:left;\">";

  htmlStr += data[i].worker_name;

  htmlStr += "</td>";

  htmlStr += "</tr>";

  }

  htmlStr += "</table>";

 

  $("#doctor_namelist_div").html(htmlStr);

  $("#doctor_namelist_div").show();

  }else{

  //没有数据div就不显示

  $("#doctor_namelist_div").hide();

 

  }

                      }

  }); 

   });

  });

 

  function selectDName(tdId){

        $("[id='tj_doctor']").val(document.getElementById(tdId).innerHTML);

      $("#doctor_namelist_div").hide();

  }

 

</javascript>

 

 

 

第二步:

Workers-sturts.xml

<action name="ajaxDoctorName" class="com.hljw.cmeav.action.workers.WorkersAction" method="ajaxDoctorName">

          <interceptor-ref name="hljw-user"></interceptor-ref>

      </action>

 

 

第三步:

Action:

public String ajaxDoctorName() throws Exception {

 

String doctor_name = this.getParameter("doctor_name");

 

List<Workers> list = this.workersService.ajaxDoctorName(doctor_name);

JSONArray json = JSONArray.fromObject(list);

try {

response.setCharacterEncoding("GBK");

response.setContentType("application/json; charset=gbk");

response.getWriter().write(json.toString(1, 1));

catch (IOException e) {

e.printStackTrace();

}

return NONE;

}

 

第四步:

Service:

public List<Workers> ajaxDoctorName(String doctor_name) {

return this.workersMapper.ajaxDoctorName(doctor_name);

}

 

第五步:

Mapper

public List<Workers> ajaxDoctorName(@Param("doctor_name") String doctor_name);

 

Mappar.xml

<select id="ajaxDoctorName" parameterType="String" resultType="Workers"> 

select * from tj_workers where flag=1 and (worker_name like CONCAT(CONCAT('%',#{doctor_name}),'%') or worker_code like CONCAT(CONCAT('%',#{doctor_name}),'%'))

</select>

 

 

写的比较简单单很实用....

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值