2010-05-13 3 views
0

JqGrid 고급 검색으로 검색하려는 필드 중 여러 텍스트 상자를 표시 할 수 있는지 궁금합니다. 예를 들어, '전화 번호'필드가있는 경우 지역 코드 용과 나머지 전화 번호 중 하나를 시각화 할 수 있어야합니다. 그런 다음 '찾기'를 누르면 두 값을 가져 와서 병합하거나 다른 작업을 수행 할 수 있습니다.JqGrid 필드에 여러 텍스트 상자로 검색

어떤 도움을 주시면 감사하겠습니다,

감사합니다,

fromano2802

답변

2

당신은 흥미로운 질문이 있습니다,하지만 난 당신이 더 좋은 사용자 친화적 인 전화 번호의 입력을 확인하는 것이 좋습니다. 멋진 jQuery "Masked Input"플러그인이 있습니다. 입력 필드 안에 "(_) _ -____"와 같은 마스크를 표시 할 수 있으며 숫자 만 입력 할 수 있습니다. 인생을 보시려면 http://digitalbush.com/projects/masked-input-plugin/#demo 페이지를 열어 전화 필드에 초점을 맞추고 무엇인가 입력 해보십시오. 멋지지 않니?

  1. 다운로드 jquery.maskedinput-1.2.2.js 및/또는 jquery.maskedinput - 1.2.2.min.j 다음 당신이해야있는 jqGrid 고급 검색 대화 상자의 내부를 수행하려면 s부터 http://digitalbush.com/projects/masked-input-plugin/까지.
  2. 웹 페이지에서이 JavaScript 파일 중 하나를 삽입하십시오. 'PHONENUMBER'정렬 : 인덱스, 83 'PHONENUMBER', 폭 : colModel SearchOptions는 검색에 '전화 번호'컬럼의 정의에
  3. 추가

    {이름을 다음과 같이 차단 '중심', SearchOptions는 검색을 : { dataInit : function (elem) { $ (elem) .mask ("(999) 999-9999"); } } }

이 전부입니다. 이제 고급 검색 대화 상자를 열고 전화 번호 필드를 선택한 다음 입력 필드에 포커스를 설정하십시오. jqGrid 문서에 설명되어있는 dataInit 함수는 http://www.trirand.com/jqgridwiki/doku.php?id=wiki:search_config&s[]=datainitahttp://www.trirand.com/jqgridwiki/doku.php?id=wiki:common_rules&s[]=datainit입니다.

그런데 데이터 편집 중 (양식 편집과 인라인 편집 모두) 동일한 마스크 된 입력을 수신 할 수 있습니다. 같은 editoptionsearchoption s와 같이 정의하십시오.

{ name: 'PhoneNumber', width: 83, index: 'PhoneNumber', align: 'center', 
    editoptions: { 
    dataInit: function (elem) { 
     $(elem).mask("(999) 999-9999"); 
    } 
    }, 
    searchoptions: { 
    dataInit: function (elem) { 
     $(elem).mask("(999) 999-9999"); 
    } 
    } 
} 
+0

감사합니다. 효과가 있지만 지금은 또 다른 문제가 있습니다. anothr 필드에서 jquery 마스크를 사용하려는 경우이를 허용하지 않습니다. 마스크는 정의하는 첫 번째 필드에서만 작동하지만 다음 필드에는 표시되지 않으므로 아무 것도 입력 할 수 없습니다. 초점은 여전히 ​​첫 번째 필드에서 '갇혀'있습니다. – oirfc

+0

당신이 옳습니다! ** jquery.searchFilter.js **는'multipleSearch : true'의 경우 버그가있는 것으로 보입니다. 여러 개의 편집 필드가 있으면 문제가 없습니다. 불행히도 내 주요 프로젝트에서 시간 부족으로 인해 많은 조사에 더 많은 시간을 투자 할 수 없습니다. 2 ~ 3 주 후에 다시 문제에 대해 설명하겠습니다. jqGrid 포럼 (http://www.trirand.com/blog/?page_id=393)에서이 문제를 버그로 처리하거나 "Masked Input"플러그인 대신 다른 플러그인을 사용해 보도록 제안 할 수 있습니다.죄송합니다.하지만이 정보를 작성하기로 결정 했으므로 다음 날 빠른 해결책을 기다리지 마십시오. – Oleg

+0

안녕하세요 올렉, 답변 해 주셔서 감사합니다. 이미 다른 플러그인을 사용해 보았지만 그 중 어느 것도 '가면 입력'에 더 가깝지 않습니다. 마스크 입력을 사용하면 마스크를 표시 할 수 있으며 다른 마스크는 입력하는 동안 마스크를 적용합니다. 다른 제안 사항이 있으면 알려 주시기 바랍니다. – oirfc

관련 문제