2017-01-03 2 views
0

고급 검색과 filterToolbar를 모두 사용합니다. 둘 다 대부분의 searchOptions를 공유합니다. 나는jqgrid 고급 검색 입력에는 속성이 없습니다.

searchoptions.dataInit = function(element) { 
    console.log(element); 
    var colName = $(element).attr('name')); 
    var attrs = $grid.jqGrid('getColProp', colName); 
    (hwere set some different datePicker options depending on col attrs ...) 
} 

이 filterToolbar 상황에서 잘 작동 ... 동적 searchoptions.dataInit을 설정하고 다음과 같이 현재 COL에 대한 몇 가지 colmodel의 바인드합니다을 얻기 위해, 요소의 ATTR "이름을"필요 고급 검색에는 포함되지 않습니다. dataInit I 디버그 "요소"IN ...

  • "filterToolbar는"가 인쇄에 ... 입력 유형 = "텍스트"이름 = "prc_start"ID = "gs_prc_start"값 클래스 = "hasDatepicker" 그것은 인쇄 ... 입력 타입 "양식을 검색"에서
  • = "텍스트"ID = "jqg2"역할 = "텍스트 상자"클래스 = "입력 느릅 hasDatepicker"두 번째에 따라서>

, 상황 필드 이름을 얻을 수 없어 일부 colmodel 매개 변수를 가져와야합니다.

어떻게 해결할 수 있습니까? (jqGrid v4.6.0, 지금까지 버전을 업그레이드 할 수 없음)

답변

0

문제점은 이전 jqGrid 4.6에만 존재합니다. 해결 방법으로 나는 날짜 선택기에 입력을 포함하는 외부 셀 될 것입니다 추적을

searchoptions.dataInit = function(element) { 
    var $td = $(element).closest("td.data"); 
    if ($td.length > 0) { 
     // in searching dialog 
     alert($td.siblings(".columns").find("select").val()); 
    } 
    ... 
} 

$td (var $td = $(element).closest("td.data");)를 사용하도록 권장 할 수있다. $td.siblings(".columns")은 열의 이름을 가진 셀이며 $td.siblings(".columns").find("select").val()은 열 이름을 가져옵니다.

+0

올레그 : 우수합니다! 고맙습니다! (미안하지만 여전히 투표 할 수 없음) – Aberel

+0

dataInit 요소가 실제 dom에 추가되기 전에 작성된 다른 응답을 읽은 이후로 "closest ("td.data ")"를 시도하지 않았으므로 일 ... 가까운 ("td.data"); – Aberel

+0

@ 애버릴 : 환영합니다! 도착 평판 점수 15 점을받은 후 투표권을 얻을 수 있습니다 (하루에 약 30 개 또는 ** **). [대답] (http://meta.stackexchange.com/a/5235/147495)에 답을하고 그 문제를 해결 한 몇 가지 대답을 제시해야합니다. 그런데 받아들이면 명성이 높아집니다. – Oleg