wordpress用の独自のウィジェットの作成に取り組んでいます。次のコードがあります。
jQuery("body").on("change", "select[id=elementselect]", function(){
var val = jQuery(this).val();
jQuery('#element1,element2').hide().filter('#element'+val).fadeIn('slow')
})
コードはうまく機能しますが、ユーザーがサイドバーに 2 つ以上のウィジェットを持っている場合、それらすべてに影響します。それらはクラスに基づいているため、ウィジェットの要素に一意の名前を付けることはできません。それで、私が現在使用している「選択」要素と同じ親を共有する要素のみをターゲットにすることは可能ですか?
HTML は次のようになります (簡略化)。
<form>
<fieldset>
<select id="elementselect">
<option value="1"></option>
<option value="2"></option>
</select>
</fieldset>
<fieldset id="element1"></fieldset>
<fieldset id="element2"></fieldset>
</form>
それとも別の解決策がありますか?
編集:私は今それを修正しました。IDをクラスに変更し、.closest()を使用しました
皆さん、ありがとうございました