Select2(バージョン4)で複数の選択メニューが生成され、各選択要素のid値が動的に設定されたフォームがあります。ユーザーがクリックするselect要素のidを探したいと思います。アクティブなSelect2要素のIDの検索方法
私は、これは
$('.js-example-tokenizer-ajax-data').on('select2:open', function (evt) {
myValue = $(this).attr('id');
});
を仕事を得ることができますしかし、私はとてもアクティブSELECT2要素のidを取得するオプションが必要とされているAJAX呼び出し内部data
のためのパラメータとしてmyValue
を使用する必要があります。私はvar selectedEle = $(document.activeElement)
を提案する記事を見ましたが、そこからIDを取得する方法はわかりません。
UPDATE
私が
function getSelectedElement(callback) {
$('.js-example-tokenizer-ajax-data').on('select2:opening', function (evt) {
myValue = $(this).attr('id');
callback();
});
}
としての機能とデータパラメータ
data: getSelectedElement(function() {
return JSON.stringify({variable: myValue})
}),
の値としてこれを含めることができるようです。しかし、いくつかのタイミングの問題があるため、まだあります選択した要素がクリックされる前にAjaxが起動するように見えるので、ページをロードするとエラーが発生する'NoneType' object has no attribute '__getitem__'
I gページが読み込まれたときにmyValueの値が存在しなかったため、atherになりました。
選択したselect2要素のIDを取得する他のオプションはありますか?また、タイミングの問題を解決する方法はありますか?
ajax呼び出しをトリガーするイベントはありますか?それはselect要素をクリックしていますか? – dlsso
はい、Select2では、クリックイベントからIDを取得する方法がわかりません。 – tw1742
推測で更新されていますが、html構造体や 'asex2'や' ajax'を見ることができないとあなたに与えることができます – dlsso