searchBox.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /**
  2. * 搜索框类
  3. * @type
  4. * 页面中要有两个控件:1、搜索文本框(id:searchBox) 2、搜索按钮(id:searchButton)
  5. */
  6. var searchBox = {
  7. /**
  8. * 默认提示文本
  9. * @type String
  10. */
  11. defaultText : "输入标题",
  12. /**
  13. * 初始化搜索框
  14. */
  15. init : function(){
  16. var searchObj = this.getSearchBox();
  17. searchObj.addClass("f9");
  18. if(searchObj.size() != 1)return;
  19. var txt = searchObj.val();
  20. if(txt && txt != "")this.defaultText = txt;
  21. searchObj.bind("click",function(){
  22. var val = $(this).val();
  23. if(val == searchBox.defaultText){
  24. $(this).val("");
  25. }
  26. });
  27. searchObj.bind("blur",function(){
  28. var val = $(this).val();
  29. if(val == ""){
  30. $(this).val(searchBox.defaultText);
  31. }
  32. });
  33. searchObj.keydown(function(e){
  34. if(e.keyCode==13){
  35. if($(".btn_ck").size() == 1){
  36. $(".btn_ck").click();
  37. }
  38. }
  39. });
  40. searchObj.val(this.defaultText);
  41. // 在搜索框前面加入隐藏域,使搜索框不会默认获得焦点
  42. searchObj.before("<input type='hidden'/>");
  43. searchObj.select();
  44. },
  45. /**
  46. * 获取搜索框的值
  47. * @return String
  48. */
  49. getValue : function(){
  50. var val = this.getSearchBox().val();
  51. if(val == this.defaultText)val = "";
  52. return val;
  53. },
  54. /**
  55. * 获取搜索框jQuery对象
  56. * @return {}
  57. */
  58. getSearchBox : function(){
  59. return $(".div_cx");
  60. }
  61. };
  62. $(function(){
  63. searchBox.init();
  64. });