あらすじ:.htmlを使用して変更した後の選択でオプションを数える()
私は、いくつかのことをトリガー要素の変更イベントに文字列を返します
- まずAJAX呼び出しを持っていますhtmlオプションを含む
- 次に、それらのオプションをドロップダウンに次のように挿入します。 selectObject.empty().html(optionString);
- これはうまくいくようですが、ここでは空白/空のオプションを1つだけ含むオプション文字列の可能性があります。その場合、ドロップダウンを非表示にする必要があります。だから、(別の関数で)私は選択のオプションをカウントしようと修正後のそれはそうのような:
var numberOfOptions = $('#id_of_select').children('option').length;
問題は、それが変更された前に、このカウントはオプションの数を返すことです。追加されたHTMLはまだ認識されません。
アドバイス/解決策はありますか?
あなたのコードは動作しますが、ajaxは非同期です。長さを確認する前に、結果と挿入された要素を待つ必要があります – adeneo
どこでオプションを数えますか?アヤックスの中か、アヤックスの後ろか? ajaxの後に数えると、selectタグがajaxの中に追加される前にカウントが返されます。だから、新しいオプションを追加したあと、Ajax内で数えてみてください – mrid
ありがとう!作品! –