2012-09-26 1 views
2

이 강력하고 아름다운 플러그인 http://loopj.com/jquery-tokeninput/을 사용하고 있지만 문제가 발생했습니다.jquery tokenInput 동적으로 스크립트로 아약스 호출 URL을 변경하는 방법

내 tokenInput에서 ajax 호출의 URL을 동적으로 변경하거나 변경하는 방법이 있습니까?

예를 들면.

jQuery("#myButton").click(function(){ 
    //Change the URL of the jQuery("#selector").tokenInput(); 
}); 

에서 : 내 페이지에서 버튼을 클릭하면

jQuery("#selector").tokenInput("http://mysite.com?name=John"); 

는, 나는 그래서 전체 로직이 같은 일이 될 것입니다 http://mysite.com?name=Adam

http://mysite.com?name=John에서 URL 변경을 원 내가 한 일은 문자 그대로 다음과 같습니다.

jQuery("#myButton").click(function(){ 
     jQuery("#selector").tokenInput("http://mysite.com?name=Adam"); 
}); 

그 중 하나를 수행하는 문제는 내가 말하고있는 것을보기 위해 클래스 token-input-list-facebook의 복사본을 만듭니다. 이 같은에서

: 당신이 볼 수있는

enter image description here

enter image description here

으로 그래서, 그것은의 TextInput 또는 클래스 token-input-list-facebook을 복제합니다.

난 그냥 내 응용 프로그램에서 무엇을 하려는지에 대한 간단한 논리를 보여 드리고 있습니다.

어떻게 할 수 있습니까? 당신의 도움은 크게 감사 될 것이며 보상을받을 것입니다! :-)

그건 그렇고, 나는 클래스 이름이 token-input-list-facebook 인 페이스 북 테마를 사용하고 있습니다.

답변

5

혼자서 해결했습니다. 이것이 내가 한 일이다.

jQuery("#selector").tokenInput("http://mysite.com?name=John"); 

jQuery("#myButton").click(function(){ 
    jQuery(".token-input-list-facebook").remove(); 
    jQuery("#selector").tokenInput("http://mysite.com?name=Adam"); 
}); 

나는 단지 remove() 클래스 token-input-list-facebook 그 클래스는 우리가 tokenInput을 초기화 할 때마다 추가되고 이후. 원하는 Ajax URL로 tokenInput을 다시 초기화하십시오.

너무 나쁘다. TokenInput의 문서를 읽는 것이 좋지 않다.

4

이 구성 요소의 코드에서 : 문자열을 URL로 제공하는 대신 문자열을 반환하는 함수를 제공 할 수 있습니다. 그래서 당신은 쓸 수 있어야합니다 :

function setupMyTokenInput($input, $btn){ 
    //this "protected" var will hold the target url 
    var url = 'http://mysite.com?name=John'; 

    $input.tokenInput( 
    //instead of a string, give a function which returns the variable's value 
    function(){ 
    return url; 
    }); 

    $btn.click(function(){ 
     //clicking the button changes the var's value 
     url = 'http://mysite.com?name=Adam'; 
    }); 
} 

$(function(){ 
    setupMyTokenInput($('#selector'), $('#button')); 
}); 

나는 이것을 시도하지는 않았지만 이것에 가까운 것이 작동해야합니다.

0

tokeninput을 초기화 할 때 함수를 호출하는 URL을 전달해야합니다.이와 같이

function buildURL(){ 
    url=[build your url here] 
    return url 
} 

jQuery("#selector").tokenInput(buildURL); 

그렇다면, 사용자가 ajax로 호출하기 전에 key tokeinput 호출을 누르면.

0

당신이 tokenInput이 아약스 여기 작업 것을 원하는 경우는 ASP에서 핸들러와 함께 당신을 위해 예를 입니다 .net (vb) https://github.com/yanivsuzana/jquery-tokeninput-ajax-asp.net-vb

+0

헬프 ul 링크가 시간이 지남에 따라 변경되는 경우 여기에 관련 코드를 추가하십시오. 이것은 당신의 대답을 더 완전하게 만들 것입니다. – paqogomez

-1
function buildURL(){ 
    url=[build your url here] 
    return url 
} 

jQuery("#selector").tokenInput(buildURL);