2

この強力で美しいプラグインhttp://loopj.com/jquery-tokeninput/を使用していますが、問題が発生しました。

tokenInput で ajax 呼び出しの URL を動的に変更または変更する方法はありますか。

たとえば。

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

http://mysite.com?name=Johnページのボタンをクリックすると、URLをからに変更したかったhttp://mysite.com?name=Adam

したがって、ロジック全体は次のようになります。

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

最初に私がしたことは、文字通り次のようなものでした:

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

それを行うことの問題は、クラスの複製が作成されるtoken-input-list-facebookことです。私が話していることを確認するだけです。

このようなものから:

ここに画像の説明を入力

ここに画像の説明を入力

ご覧のとおり、 textinput または class を複製しますtoken-input-list-facebook

アプリケーションで実行しようとしていることの簡単なロジックを示しているだけです。

それを行う方法はありますか?あなたの助けは非常に高く評価され、報われるでしょう! :-)

ちなみに、私はfacebookのテーマを使用しているので、クラス名はtoken-input-list-facebook.

4

6 に答える 6

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");
});

tokenInput を初期化するたびに追加されるクラスなので、私はただremove()のクラスです。token-input-list-facebook次に、目的の ajax URL で tokenInput を再度初期化します。

残念ながら、TokenInput でその方法に関する適切なドキュメントが見当たりません。

于 2012-09-27T01:35:02.780 に答える
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') );
});

試したことはありませんが、これに近いものが動作するはずです。

于 2012-09-26T16:22:11.393 に答える
1

解決策はここで言及されました: https://github.com/loopj/jquery-tokeninput/pull/77#issuecomment-1291896

コールバック関数を URL に渡します。

$("#searchKeywords").tokenInput(function() {
  return 'ajax_scripts/keyword_search.php?gameId=' + $('#gameId').val();
}, {theme: "facebook"});
于 2013-07-09T02:50:25.687 に答える
0

tokenInputがajaxで動作するようにしたい場合は、asp.net(vb)のハンドラーを使用した例を次に示します https://github.com/yanivsuzana/jquery-tokeninput-ajax-asp.net-vb

于 2013-10-31T17:03:37.397 に答える
0

tokeninput を初期化するときに、関数を呼び出す URL を渡す必要があります。このような

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

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

以上で、ユーザーが ajax による呼び出しの前に機能する tokeinput 呼び出しのキーを押すと、次のようになります。

于 2013-02-26T17:39:13.183 に答える
-1
function buildURL(){
    url=[build your url here]
    return url
}

jQuery("#selector").tokenInput(buildURL);
于 2016-04-05T11:56:54.000 に答える