PageSourceSearch

https://www.3917majung.com/common/js/ajax.js?1791410221

js 3917majung.com collected 2026-10-07 21:57:24 UTC 24,341 bytes, 690 lines download raw bytes

1//=================================================================================================
2// 프로젝트 :
3// 처리내용 : Ajax를 jQuery와 연동
4// 작 성 자 : 2013-04-23 이영남
5//=================================================================================================
6
7if (typeof(AJAX_JS) == 'undefined')
8{
9  var AJAX_JS = true;
10
11  //-------------------------------------------------------------------------------------
12  // post로 전송하고 json으로 리턴받기 2023-07-14 강대인
13  // $.getJSON() 은 기본으로 존재함
14  // ------------------------------------------------------------------------------------
15  $.postJSON = function(url, data,success)
16  {
17    if( !url){ url = ''; }
18    if( !data){ data = ''; }
19    if( !success){ success = function(e){}; }
20    return $.ajax({url:url,data:data,dataType:'json',type:'post',success : success})
21  }
22
23  //-------------------------------------------------------------------------------------
24  // 함수명 : $.dialog
25  // 기  능 : 다이알로그창
26  // 작성일 : 2013-04-23 이영남
27  // 참  조 : pFile:실행파일명, pData:파라메타, pW:폭, pH:높이
28  // ------------------------------------------------------------------------------------
29  $.dialog = function(pFile, pData, pW, pH)
30  {
31    var scrollTop = $(window).scrollTop();
32    var winLeft   = parseInt($(window).width() - pW) / 2;
33    var winTop    = parseInt($(window).height() - pH) / 2 + scrollTop; // 상단31,하단4 를 높이에 포함
34
35    pSkin = "Txt";
36
37    $.dialogRemove();
38    $('<div id="idAjaxHeader"></div>').css({'height':$(document).height()+"px"}).appendTo('body');
39    $('<div id="idAjaxBody">'+
40      '  <div id="idAjaxDisplay"></div>'+
41      '  <div class="ssClear"></div>')
42      .css({
43        'position'     : 'absolute',
44          'top'        : winTop+'px',
45          'left'       : winLeft+'px',
46          'border'     : '0',
47          'width'      : parseInt(pW) +'px',
48          'height'     : parseInt(pH) +'px',
49          'text-align' : 'center',
50          'background' : '#4b4f52',
51          'z-index'    : '998'
52      }).appendTo('body');
53
54    $('#idAjaxDisplay').css({'width' : pW+'px',  'height' : pH+'px', 'text-align' : 'center', 'overflow' : 'hidden'});
55    $.insert_old('#idAjaxDisplay', pFile, pData);
56
57    //$("#idAjaxBody ").draggable();
58    //   클래스가 draggable인 요소에 드래그 기본 함수를 적용한다.
59    $("#idAjaxBody").draggable({
60      cursor      : "move",         // cursor옵션은 드래그 하는 동안 마우스 포인터의 모양을 변화시킴
61      stack       : "#idAjaxBody",  // stack옵션은 드래그 대상이 되는 요소들을 자동으로 깊이 설정을 해줌. 드래그 되는 요소가 가장 위에 올라옴
62      opacity     : 0.7,            // 드래그 하는 동안 불투명도는 0.7
63      containment : 'window',
64      scroll      : false,
65      handle      : '.xmClose'       //드래그 잡을 수 있는 영역
66    });
67
68    $("#idAjaxBody").bind("dragstart",function(event, ui){
69      if ( typeof(Fld_Obj) !== "undefined" && Fld_Obj != null )
70      {
71        Calendar_Reset();
72      }
73    });
74  };
75
76  //-------------------------------------------------------------------------------------
77  // 함수명 : $.dialogRemove
78  // 기  능 : 다이알로그창 없애기
79  // 작성일 : 2013-04-23 이영남
80  // ì°¸  ì¡° :
81  // ------------------------------------------------------------------------------------
82  $.dialogRemove = function()
83  {
84    $("#idAjaxBody").remove();
85    $("#idAjaxClose").remove();
86    $("#idAjaxHeader").remove();
87    if ( typeof(Fld_Obj) !== "undefined" && Fld_Obj != null )
88    {
89      Calendar_Reset();
90    }
91    return true;
92  };
93
94  //-------------------------------------------------------------------------------------
95  // 함수명 : $.insert
96  // 기  능 : 페이지 insert
97  // 작성일 : 2013-04-23 이영남
98  // 참  조 : pDiv:DIV명, pFile:실행파일명, pData:파라메타
99  // ------------------------------------------------------------------------------------
100  $.insert = function(pDiv, pFile, pData)
101  {
102    var pHeight = $(pDiv).height();
103    var h = (pHeight-16)/2;
104    var html = '<div style="height:'+pHeight+'px;"><div style="padding-top:'+h+'px;text-align:center;"><img src="/images/ajax_small.gif" width="16" height="16" /></div></div>';
105    $(pDiv).html(html);
106
107    $.post(pFile,pData, function(rtn)
108    {
109    }, "json")
110    .done(function(rtn )
111    {
112      //console.log(rtn);
113      if( rtn.status == "OK" )
114      {
115        //alert(rtn.msg);
116        //$(pDiv).html(rtn.data);
117      }
118      else
119      {
120        alert(rtn.msg);
121      }
122    })
123    .fail(function(jqXHR, textStatus, errorThrown)
124    {
125      //console.log(jqXHR.responseText);
126      alert(jqXHR.responseText);
127    })
128    .always(function(rtn)
129    {
130      //console.log(rtn);
131      $(pDiv).html(rtn.data);
132    });
133  };
134
135  $.insert_old = function(pDiv, pFile, pData)
136  {
137    var pHeight = $(pDiv).height();
138    var h = (pHeight-16)/2;
139    var html = '<div style="height:'+pHeight+'px;"><div style="padding-top:'+h+'px;text-align:center;"><img src="/images/ajax_small.gif" width="16" height="16" /></div></div>';
140    $(pDiv).html(html);
141
142    $.post(pFile,pData, function(rtn)
143    {
144    })
145    .done(function(rtn )
146    {
147      //console.log(rtn);
148      $(pDiv).html(rtn);
149    })
150    .fail(function(jqXHR, textStatus, errorThrown)
151    {
152      //console.log(jqXHR.responseText);
153      alert(jqXHR.responseText);
154    })
155    .always(function(rtn)
156    {
157      //console.log(rtn);
158    });
159  };
160
161  //-------------------------------------------------------------------------------------
162  // 함수명 : $.dialog
163  // 기  능 : 다이알로그창
164  // 작성일 : 2013-04-23 이영남
165  // 참  조 : pFile:실행파일명, pData:파라메타, pW:폭, pH:높이
166  // ------------------------------------------------------------------------------------
167  $.dialog_div = function(pDiv, pW, pH)
168  {
169    var scrollTop = $(window).scrollTop();
170    var winLeft   = parseInt($(window).width() - pW) / 2;
171    var winTop    = parseInt($(window).height() - pH) / 2 + scrollTop; // 상단31,하단4 를 높이에 포함
172    var html      = '<img src="/images/ajax_small.gif" width="16" height="16" style="width:16px;height:16px;margin-top:'+parseInt((pH/2)-8)+'px" />';
173
174    pSkin = "Txt";
175
176    $.dialogRemove_div(pDiv);
177    $('<div id="idAjaxHeader" style="width:100%; top:0; left:0; overflow:hidden; position:absolute; background:#000; filter:Alpha(opacity=70); opacity:0.7; -moz-opacity:0.7; z-index:9997;"></div>').css({'height':$('body').height()+"px"}).appendTo('body');
178    $('<div id="idAjaxBody">'+
179      '  <div id="idAjaxDisplay"></div>'+
180      '  <div class="ssClear"></div>')
181      .css({
182        'position'     : 'absolute',
183          'top'        : winTop+'px',
184          'border'     : '0',
185          'width'      : parseInt(pW) +'px',
186          'height'     : parseInt(pH) +'px',
187          'text-align' : 'center',
188          'z-index'    : '9998'
189      }).appendTo('body');
190
191     //'left'       : winLeft+'px',
192
193    $('#idAjaxDisplay').css({'width' : pW+'px',  'height' : pH+'px', 'text-align' : 'center', 'overflow' : 'hidden'}).html(html);
194
195    $('#idAjaxDisplay').html('');
196    $('#'+pDiv).show();
197    $('#'+pDiv).appendTo('#idAjaxDisplay');
198
199    //$("#idAjaxBody ").draggable();
200    //   클래스가 draggable인 요소에 드래그 기본 함수를 적용한다.
201    $("#idAjaxBody").draggable({
202      cursor      : "move",         // cursor옵션은 드래그 하는 동안 마우스 포인터의 모양을 변화시킴
203      stack       : "#idAjaxBody",  // stack옵션은 드래그 대상이 되는 요소들을 자동으로 깊이 설정을 해줌. 드래그 되는 요소가 가장 위에 올라옴
204      opacity     : 0.7,            // 드래그 하는 동안 불투명도는 0.7
205      containment : 'window',
206      scroll      : false,
207      handle      : '.xmClose'       //드래그 잡을 수 있는 영역
208    });
209
210    $("#idAjaxBody").bind("dragstart",function(event, ui){
211      if ( typeof(Fld_Obj) !== "undefined" && Fld_Obj != null )
212      {
213        Calendar_Reset();
214      }
215    });
216  };
217
218  //-------------------------------------------------------------------------------------
219  // 함수명 : $.dialogRemove
220  // 기  능 : 다이알로그창 없애기
221  // 작성일 : 2013-04-23 이영남
222  // ì°¸  ì¡° :
223  // ------------------------------------------------------------------------------------
224  $.dialogRemove_div = function(pDiv)
225  {
226    $("#idAjaxBody").remove();
227    $("#idAjaxClose").remove();
228    $("#idAjaxHeader").remove();
229    $("#"+pDiv).hide();
230
231    if ( typeof(Fld_Obj) !== "undefined" && Fld_Obj != null )
232    {
233      Calendar_Reset();
234    }
235    return true;
236  };
237
238
239  //-------------------------------------------------------------------------------------
240  // 함수명 :
241  // 기  능 : 클래스명으로 input box에 숫자만 입력
242  // 작성일 : 2014-01-28 강대인
243  //-------------------------------------------------------------------------------------
244
245  $(document).ready(function()
246  {
247    // 숫자콤마 자동입력
248    $(document).on('keyup keydown',".pc_comma_input", function ()
249    {
250      var t_val = $(this).val();
251      $(this).val(InComma(t_val));
252    });
253
254    $(document).on('focus','.pc_comma_input,.ss_num_only',function()
255    {
256      var num = $(this).val();
257      if(num == 0)
258      {
259        $(this).val('');
260      }
261    });
262
263    $(document).on('blur','.pc_comma_input,.ss_num_only',function()
264    {
265      var num = $(this).val();
266      if(!num)
267      {
268        $(this).val(0);
269      }
270    });
271
272    // 전화번호 자동하이픈넣기
273    if($(".pc_tel_input").length>0)
274    {
275      $(".pc_tel_input").attr('maxlength','14');
276    }
277    if($(".pc_fax_input").length>0)
278    {
279      $(".pc_fax_input").attr('maxlength','14');
280    }
281    $(document).on("keyup blur",'.pc_tel_input, .pc_fax_input',function()
282    {
283      var str = $(this).val();
284      var string = "";
285
286      string = autoHypenPhone(str)
287      $(this).val(string);
288    });
289
290    // 날짜 입력용 datepicker
291    if($(".pc_date_input").length>0)
292    {
293      $(".pc_date_input").datepicker(this);
294      $(".pc_date_input").attr('maxlength','10');
295    }
296
297    // 년월 입력용 datepicker
298    if(typeof($.monthpicker) !== 'undefined' && $(".pc_month_input").length>0)
299    {
300      $(".pc_month_input").attr('maxlength','7');
301      $(".pc_month_input").monthpicker(this);
302    }
303
304    // 날짜, 년월 입력시 숫자와 '-' 만입력
305    $(document).on('keyup blur',".pc_date_input, .pc_month_input", function ()
306    {
307      var t_val = $(this).val();
308      t_val = t_val.replace(/[^0-9\-]/g, '');
309      t_val = autoHypenDate(t_val);
310      //console.log(t_val);
311
312      $(this).val(t_val);
313    });
314
315    // 사업자등록번호 자동하이픈넣기
316    if($(".pc_biz_input").length>0)
317    {
318      $(".pc_biz_input").attr('maxlength','12');
319    }
320    $(document).on("keyup blur",'.pc_biz_input',function()
321    {
322      var str = $(this).val();
323      var string = "";
324
325      string = autoHypenBizNo(str)
326      $(this).val(string);
327    });
328
329    // 법인등록번호 자동하이픈넣기
330    $(document).on("keyup blur",'.pc_biz_input2',function()
331    {
332      var str = $(this).val();
333      var string = "";
334
335      string = autoHypenBizNo2(str)
336      $(this).val(string);
337    });
338
339    // 날짜 자동하이픈넣기
340    if($(".pc_date_input2").length>0)
341    {
342      $(".pc_date_input2").attr('maxlength','10');
343    }
344
345    $(document).on("keyup blur",'.pc_date_input2',function()
346    {
347      var str = $(this).val();
348      var string = "";
349
350      string = autoHypenDate(str)
351      $(this).val(string);
352    });
353
354    //----------------------------------------------------------------------------
355    // input 항목에 class 로 ss_num_only 지정한다.(숫자만허용)
356    //----------------------------------------------------------------------------
357    $(document).on("keypress keyup",'.ss_num_only', function(event)
358    {
359      if(event.type == "keypress")
360      {
361        $(this).css('imeMode','disabled');
362
363        if(event.which && event.which != 45 && event.which != 46 && (event.which < 48 || event.which > 57) )
364        {
365          event.preventDefault();
366        }
367      }
368      else
369      {
370        if( $(this).val() != null && $(this).val() != '' )
371        {
372          $(this).val( $(this).val().replace(/[^0-9.-]/g, '') );
373        }
374        else
375        {
376          $(this).val('');
377        }
378      }
379    });
380
381    //----------------------------------------------------------------------------
382    // input 항목에 class 로 ss_num_coma 지정한다.(숫자허용 + 숫자 3자리수마다 컴마찍기)
383    //----------------------------------------------------------------------------
384    $(document).on("focusin keypress keyup",'.ss_num_coma', function(event)
385    {
386        console.log(event.type);
387
388      if(event.type == "keypress")
389      {
390        $(this).css('imeMode','disabled');
391
392        if(event.which && event.which != 45 && event.which != 46 && (event.which < 48 || event.which > 57 ) )
393        {
394          event.preventDefault();
395        }
396      }
397      else if(event.type == "focusin")
398      {
399        var num = $(this).val();
400        if(num == "0")
401        {
402          $(this).val('');
403        }
404      }
405      else
406      {
407        if( $(this).val() != null && $(this).val() != '' )
408        {
409          var tmps = $(this).val().replace(/[^0-9.+-]/g, '');
410
411          // 소수점 위치를 기준으로 숫자를 분리
412          const parts = tmps.split('.');
413
414          // 소수점 이상의 부분에만 쉼표 추가
415          parts[0] = parts[0].replace(/^([-+]?\d+)(\d{3})/, '$1,$2')
416                             .replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1,');
417
418          // 다시 합쳐서 결과 생성
419          const result = parts.join('.');
420
421          $(this).val(result);
422        }
423        else
424        {
425          $(this).val('');
426        }
427      }
428    });
429
430    //----------------------------------------------------------------------------
431    // 숫자 입력 =>
431 숫자, 소수점, - 입력가능
432    //----------------------------------------------------------------------------
433    $(document).on("keydown",".ss_numeric", function(e)
434    {
435      if(event.type == "keypress")
436      {
437        $(this).css('imeMode','disabled');
438
439        if(event.which && event.which != 45 && event.which != 46 && (event.which < 48 || event.which > 57) )
440        {
441          event.preventDefault();
442        }
443      }
444      else
445      {
446        if( $(this).val() != null && $(this).val() != '' )
447        {
448          $(this).val( $(this).val().replace(/[^0-9.-]/g, '') );
449        }
450        else
451        {
452          $(this).val('');
453        }
454      }
455    });
456    //----------------------------------------------------------------------------
457  });
458
459  // monthpicker 셋팅
460  if(typeof($.monthpicker) !== 'undefined')
461  {
462    $.monthpicker.regional['ko'] = {
463        monthNames: ['1월(JAN)', '2월(FEB)', '3월(MAR)', '4월(APR)', '5월(MAY)', '6월(JUN)', '7월(JUL)', '8월(AUG)', '9월(SEP)', '10월(OCT)', '11월(NOV)', '12월(DEC)'],
464        //monthNamesShort: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
465        monthNamesShort: ['1월(JAN)', '2월(FEB)', '3월(MAR)', '4월(APR)', '5월(MAY)', '6월(JUN)', '7월(JUL)', '8월(AUG)', '9월(SEP)', '10월(OCT)', '11월(NOV)', '12월(DEC)'],
466        showOn: "focus",
467        //buttonImage: "/images/cal.gif",
468        //buttonImageOnly: true,
469        changeYear: true,
470        yearRange: 'c-2:c+2',
471        dateFormat: 'yy-mm'
472    };
473    $.monthpicker.setDefaults($.monthpicker.regional['ko']);
474  }
475
476  // datepicker 셋팅
477  $.datepicker.regional['ko'] = {
478    dateFormat: "yy-mm-dd",
479    changeMonth: true,
480    changeYear: true,
481    yearRange: 'c-80:c+80', // Range of years to display in drop-down
482    showButtonPanel: true,    /* 버튼 패널 사용 */
483    showOtherMonths: true,    /* 이전/다음 달 일수 보이기 */
484    selectOtherMonths: true,    /* 이전/다음 달 일 선택하기 */
485    //showOn: "both",
486    //buttonText: "달력",
487    //buttonImage: "/images/cal.gif",
488    //buttonImageOnly: true,
489    prevText: '이전달',
490    nextText: '다음달',
491    closeText: '닫기',
492    currentText: '오늘',
493    dayNames : ['일', '월', '화', '수', '목', '금', '토'],
494    dayNamesShort: ['일','월','화','수','목','금','토'],
495    dayNamesMin: ['일', '월', '화', '수', '목', '금', '토'],
496    monthNames : ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
497    monthNamesShort: ['1월','2월','3월','4월','5월','6월','7월','8월','9월','10월','11월','12월'] ,
498    showMonthAfterYear: true, /* 년과 달의 위치 바꾸기 */
499    beforeShow: function( input ) {
500        setTimeout(function() {
501            var buttonPane = $( input )
502                .datepicker( "widget" )
503                .find( ".ui-datepicker-buttonpane" );
504
505            $( "<button>", {
506                text: "Clear",
507                click: function() {
508                //Code to clear your date field (text box, read only field etc.) I had to remove the line below and add custom code here
509                    $.datepicker._clearDate( input );
510                }
511            }).appendTo( buttonPane ).addClass("ui-datepicker-clear ui-state-default ui-priority-primary ui-corner-all");
512        }, 1 );
513    },
514    onChangeMonthYear: function( year, month, instance ) {
515        setTimeout(function() {
516            var buttonPane = $( instance )
517                .datepicker( "widget" )
518                .find( ".ui-datepicker-buttonpane" );
519
520            $( "<button>", {
521                text: "Clear",
522                click: function() {
523                //Code to clear your date field (text box, read only field etc.) I had to remove the line below and add custom code here
524                    $.datepicker._clearDate( instance.input );
525                }
526            }).appendTo( buttonPane ).addClass("ui-datepicker-clear ui-state-default ui-priority-primary ui-corner-all");
527        }, 1 );
528    }
529  };
530  $.datepicker.setDefaults($.datepicker.regional['ko']);
531  $.datepicker._gotoToday = function(id) { $(id).datepicker('setDate', new Date()).datepicker('hide').blur();} // 오늘 클릭시 오늘날짜 입력
532
533  // 년월 달력용
534  var datepicker_month = {
535      currentText: "이번달",
536      changeMonth: true,
537      changeYear: true,
538      //showOn: 'both',
539      //buttonText: "달력",
540      //buttonImage: "/images/cal.gif",
541      showButtonPanel: true,
542      yearRange: 'c-99:c+99',
543      showOtherMonths: true,
544      selectOtherMonths: true,
545      monthNames : ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
546      monthNamesShort: ['1월','2월','3월','4월','5월','6월','7월','8월','9월','10월','11월','12월'] ,
547      showMonthAfterYear: true /* 년과 달의 위치 바꾸기 */
548  };
549
550  datepicker_month.beforeShow = function () {
551    var selectDate = $(this).val().split("-");
552    var year = Number(selectDate[0]);
553    var month = Number(selectDate[1]) - 1;
554    $(this).datepicker( "option", "defaultDate", new Date(year, month, 1) );
555    $(this).datepicker( "option", "dateFormat", "yy-mm");
556    $(this).datepicker('setDate', new Date(year, month, 1));
557  };
558
559  datepicker_month.onChangeMonthYear = function (year, month, inst) {
560      $(this).val($.datepicker.formatDate('yy-mm', new Date(year, month - 1, 1)));
561      $(this).trigger('change'); // 체인지이벤트 자동발생 2021-05-29
562  };
563
564  /*
565  사용법 2019-04-09 강대인
566  $("#month_dt").datepicker(datepicker_month).focus(function () { $(".ui-datepicker-calendar").hide();});
567  */
568
569  // 셀렉트박스를 콤보박스처럼 만들기 2021-07-12 강대인
570  $.widget("custom.combobox",
571  {
572      _create: function() {
573          this.wrapper = $("<span>").addClass("custom-combobox").insertAfter(this.element);
574          this.element.hide();
575          this._createAutocomplete();
576          this._createShowAllButton();
577      },
578      _createAutocomplete: function() {
579          var selected = this.element.children(":selected"), value = selected.val() ? selected.text() : "";
580          this.input = $("<input>")
581              .appendTo(this.wrapper)
582              .val(value)
583              .attr("title", "")
584              .addClass("custom-combobox-input ui-widget ui-widget-content ui-state-default ui-corner-left")
585              .autocomplete({
586                  delay: 0,
587                  minLength: 0,
588                  source: $.proxy(this, "_source"),
589                  // 한글 항목 커서로 선택시 오류방지
590                  focus: function(event, ui) {
591                      return false;
592                  },
593                  select: function(event, ui) {
594                    // 선택했을때 처리가 여기에 옵니다.
595                  }
596              })
597              .tooltip({
598                  classes: {"ui-tooltip": "ui-state-highlight"}
599              });
600          this._on( this.input, {
601              autocompleteselect: function( event, ui ) {
602                  ui.item.option.selected = true;
603                  this._trigger( "select", event, {item: ui.item.option});
604              },
605              autocompletechange: "_removeIfInvalid"
606          });
607      },
608      _createShowAllButton: function() {
609          var input = this.input, wasOpen = false;
610          $("<a>")
611              .attr("tabIndex", -1)
612              .attr("title", "모두보기")
613              .tooltip()
614              .appendTo( this.wrapper )
615              .button({
616                  icons: {primary: "ui-icon-triangle-1-s"},
617                  text: false
618              })
619              .removeClass( "ui-corner-all" )
620              .addClass("custom-combobox-toggle ui-corner-right")
621              .on("mousedown", function() {
622                  wasOpen = input.autocomplete("widget").is(":visible");
623              })
624              .on("click", function() {
625                  input.trigger( "focus" );
626                  // 이미 보여지고 있다면 닫습니다.
627                  if(wasOpen) {
628                      return;
629                  }
630                  // 모든 결과 출력을 위해서 빈문자열을 보냅니다.
631                  input.autocomplete("search", "");
632              }
633          );
634      },
635      _source: function(request, response) {
636          var matcher = new RegExp($.ui.autocomplete.escapeRegex(request.term), "i");
637          response( this.element.children("option").map(function() {
638              var text = $(this).text();
639              if(this.value && (!request.term || matcher.test(text))) {
640                  return {
641                      label: text,
642                      value: text,
643                      option: this
644                  };
645              }
646          }));
647      },
648      _removeIfInvalid: function(event, ui) {
649          // 아이템을 선택합니다. 아무것도 하지 않습니다.
650          if(ui.item) {
651              return;
652          }
653          // 일치하는것을 찾습니다. (대소문자를 구분하지 않습니다.)
654          var value = this.input.val(), valueLowerCase = value.toLowerCase(), valid = false;
655          this.element.children( "option" ).each(function() {
656              if($(this).text().toLowerCase() === valueLowerCase) {
657                  this.selected = valid = true;
658                  return false;
659              }
660          });
661          // 일치하는것을 찾으면 아무것도 하지 않습니다.
662          if(valid) {
663              return;
664          }
665          // 빈값 항목을 삭제합니다.
666          this.input
667              .val("")
668              .attr("title", value + " 일치하는 항목이 없습니다.")
669              .tooltip("open");
670          this.element.val("");
671          this._delay(function() {
672              this.input.tooltip("close").attr("title", "");
673          }, 2500);
674          //this.input.autocomplete("instance").term = "";
675      },
676      _destroy: function() {
677          this.wrapper.remove();
678          this.element.show();
679      }
680  });
681
682  // 사용방법
683  //$("#company_no").combobox();
684
685
686}
687
688
689
690

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.