2010-05-18 6 views
0

사용자 작업에 따라이 플러그인에서 extraParams을 변경하려고합니다. 다음 줄을 실행JQuery 플러그인의 내부 속성에 액세스 할 수 있습니까?

var t = new $.TextboxList('#entSearch', {unique: true, plugins: { 
      autocomplete: { 
       minLength: 3, 
       queryRemote: true, 
       placeholder: false, 
       remote: { 
        url: "{{=URL(r=request, f='call/json/suggest')}}", 
        extraParams: {type: "", guid: ""} 
        } 
       } 
      } 
     }); 

에서 오류가 발생합니다 : autocomplete.remote이

var tmp = autocomplete['remote']['extraParams']['type']; 

나는 DICT에서 그들을 참조 할 것 같은 플러그인이 내부 속성에 액세스 할 수있는 방법이 있나요을 정의되지?

+1

당신은 위의 변수로 그들을 정의 할 수 있습니까? – alex

답변

1

변수로 정의하여 나중에 액세스 할 수 있습니다.

var plugins = { 
    autocomplete: { 
     minLength: 3, 
     queryRemote: true, 
     placeholder: false, 
     remote: { 
      url: "{{=URL(r=request, f='call/json/suggest')}}", 
      extraParams: {type: "", guid: ""} 
     } 
    }, 
    t = new $.TextboxList('#entSearch', {unique: true, plugins: plugins}); 

그럼 당신은 같은 액세스 할 수 있습니다 :

var tmp = plugins.autocomplete.remote.extraParams.type; 
// ... or ... 
var tmp = plugins['autocomplete']['remote']['extraParams']['type']; 
+0

감사합니다. 지금 값에 액세스하여 '플러그인'에서 업데이트 할 수 있지만 't'로 설정할 수는 없습니다. 어떤 이유로 't.plugins.autcomplete.remote.extraParams.type'과 같은 방식으로 't'에 액세스 할 수 없습니다. 그게 내가 위의 '자동 완성'으로 무엇을하려고했는지입니다. 그게 왜 효과가 없을지 모르는 어떤 생각? –

+0

TextboxList 플러그인 설정 방법에 따라 다릅니다. 그걸 알지 못하면 너를 도울 수 없어. 그러나 당신이 정보에 접근하려고하는 것은 분명히 효과가 없을 것입니다. –

관련 문제