2017-09-27 1 views
0

나는 dynatable을 사용하여 테이블을 만듭니다.Dynatable - 기능이 정의되지 않았습니다.

{ 
    $element: [table#dyno-table, context: table#dyno-table] 
    dom: Dom {update: ƒ} 
    domColumns:DomColumns {initOnLoad: ƒ, init: ƒ, getFromTable: ƒ, add: ƒ, remove: ƒ, …} 
    element : table#dyno-table 
    inputsSearch : InputsSearch {initOnLoad: ƒ, init: ƒ, create: ƒ, attach: ƒ} 
    paginationLinks : PaginationLinks {initOnLoad: ƒ, init: ƒ, create: ƒ, buildLink: ƒ, attach: ƒ} 
    paginationPage : PaginationPage {initOnLoad: ƒ, init: ƒ, set: ƒ} 
    paginationPerPage : PaginationPerPage {initOnLoad: ƒ, init: ƒ, create: ƒ, attach: ƒ, set: ƒ} 
    processingIndicator : ProcessingIndicator {init: ƒ, create: ƒ, position: ƒ, attach: ƒ, show: ƒ, …} 
    queries : Queries {initOnLoad: ƒ, init: ƒ, add: ƒ, remove: ƒ, run: ƒ, …} 
    records : Records {initOnLoad: ƒ, init: ƒ, updateFromJson: ƒ, sort: ƒ, paginate: ƒ, …} 
    recordsCount : RecordsCount {initOnLoad: ƒ, init: ƒ, create: ƒ, attach: ƒ} 
    settings : {features: {…}, table: {…}, inputs: {…}, dataset: {…}, writers: {…}, …} 
    sorts : Sorts {initOnLoad: ƒ, init: ƒ, add: ƒ, remove: ƒ, clear: ƒ, …} 
    sortsHeaders : SortsHeaders {initOnLoad: ƒ, init: ƒ, create: ƒ, removeAll: ƒ, removeOne: ƒ, …} 
    state : State {initOnLoad: ƒ, init: ƒ, push: ƒ, pop: ƒ} 
    __proto__ : Object 
} 

이 어떤 객체 키 이름을 표시하는 잘 포맷 된 크롬 개발 도구의 출력 :

TypeError: dyna.features is undefined

$(document).ready(function() { 
     gettableupdates(); 
     var dyna; 
     function gettableupdates() { 
      $.getJSON('ajax_data.json', 
       function (data) { 
        dyna = $('#product-table').dynatable({ 
         dataset: { 
          records: data 
         } 
        }).data('dynatable'); 
        dyna.features.paginate.recordCount = false; 
        dyna.features.paginate.perPageSelect = false; 
       }); 
     } 
    }); 
+0

features 메소드를 호출하기 전에 당신에게주는 것은 무엇입니까? – JoeMoe1984

+0

개체 {settings : 개체, 요소 :

, $ element : Object [1], dom : Object, domColumns : 개체, 레코드 : 개체, recordsCount : 개체, processingIndicator : 개체, 상태 : 개체, 정렬 : Object, 6 more ...} – user3794273

+0

@ JoeMoe1984 아이디어가 있으십니까? – user3794273

답변

1
다이나 변수의

console.log는 다음을 보여줍니다하지만 난 오류 수 아르. 보시다시피 최상위 수준 개체를 통해 features에 직접 액세스 할 수 없습니다. 그러나 그것은 내부 설정입니다.

그래서 dyna.features

하지만

dyna.settings.features

당신이 찾고있는 아마 목적은 정의되지 않습니다.

그래서 당신이 단지에서 다음 줄을 변경해야

dyna.features.paginate.recordCount = false; 
dyna.features.paginate.perPageSelect = false; 

사실

업데이트

dyna.settings.features.paginate.recordCount = false; 
dyna.settings.features.paginate.perPageSelect = false; 

에, 나는 당신이 뭘 하려는지 모르겠지만 위의 예는 오류를 방지하지만 원하는 결과를 얻지 못할 수 있습니다. 귀하의 의도는 페이지 매김을 비활성화하고 기록을 세는 것이었지만 작동하지 않습니다. 이러한 기능을 초기화 할 때 정의해야합니다. 다음과 같은 몇 가지 속성을 가진 features 객체를 추가하면됩니다 :

// ...previous code 
dyna = $('#product-table').dynatable({ 
    dataset: { 
     records: data 
    }, 
    features: { 
     recordCount: false, 
     perPageSelect: false, 
    } 
}).data('dynatable'); 
//... after code 
+0

이 솔루션을 보았지만 다음 단계에서는 "쿼리"를 사용하려고합니다. 그런 솔루션 때문에 속성을 사용하고 싶습니다. - dynatable.queries.remove ("id"); - dynatable.queries.add ("id", value); 그들은 같은 오류를 준다 – user3794273

+0

그건 중요하지 않습니다. 초기 문제가 해결되었습니다. 다른 어려움이 있다면 별도의 질문으로 질문해야합니다. 왜 dyna.features가 반환되지 않은지 알고 싶었고 대답했습니다. 그게 당신의 초기 오류가 해결되면 해결 된 것으로 표시해야합니다. – JoeMoe1984

+0

또한 코드의 다른 부분에서 같은 오류가 발생하면이 대답에 사용 된 단계를 반복하여 먼저 해결하십시오. 그런 다음 문제를 해결하기 위해 시도한 단계의 세부 사항과 수행하려고 시도한 세부 사항으로 해결할 수없는 경우 다른 질문을하십시오. – JoeMoe1984

관련 문제