約30のオプションを持つjQuery selectmenuウィジェットがあります。これをより使いやすくするために、最も一般的に選択されている15のオプションのみを表示しています。その後、「もっと見る」という16番目のオプションがあります。 jQueryがやりたいことは、他の15個のオプションを表示することです(既に存在する15個以下)。selectmenuオプションの表示と非表示
現時点では、15個以上のボタンを表示しています。しかし、クリックすると、選択メニュー(ポップアップ)が消えます(「もっと見る」が選択されています)。ボタンをもう一度クリックすると、すべてのオプションを含む選択メニューリストが再度表示されます。だから、それは働いています、それは単に "もっと見る"をクリックした後にオプションのリストを隠していることです。リストが消えないようにする方法はありますか?私はevent.preventDefault()
を含んでいますが、それはそのトリックをやっているようには見えません。
私が本当にやりたいことは、選択メニューウィジェットのオプションを表示して非表示にすることだけです。もっと簡単なことがあれば、別のやり方でやっていいです!
$(document).ready(function() {
$('#holderForFamilySelect').on('change', 'select#selectImplantFamily', function(){
if ($(this).val() == "loadMore") {
event.preventDefault();
$("select#selectImplantFamily option.ui-screen-hidden").removeClass("ui-screen-hidden");
$("select#selectImplantFamily").selectmenu("refresh");
} else {
loadImplantsOfFamily($(this).val());
}
});
});
おかげ@Aschabが、残念ながらそれのdidnそれはうんざりしてポップアップを閉じた。また、私は 'event.stopImmediatePropagation();しかしそれはどちらもうまくいかなかった。 – Brad
おそらく、このイベント(onChangeイベント)が防止しようとしているイベントではないからでしょうか? selectmen(またはpopupの) 'close()'イベントですか? – Brad