0

私は Foundation 3 を使用しており、選択内容に基づいて URL を変更するようにドロップダウンを設定しています。中括弧内のコードは、正しく機能している ExpressionEngine タグです。HTML - 選択は非表示です - Foundation ドキュメント、ページの下部、 http: //bit.ly/1b9gAjGを参照してください:

<form id="materials-year" class="custom">
    <select  class="support attribute" style="display:none;" onChange="this.form.submit()">
      <option>Select Year</option>
      <option value="{site_url}members/">All</option>
      {exp:low_yearly_archives channel="member-materials" limit="50"}
      <option value="{site_url}members/{year}/">{year}</option>
      {/exp:low_yearly_archives}
    </select>

    <div class="custom dropdown">
      <a href="#" class="current">
        Select Year
      </a>
      <a href="#" class="selector"></a>
      <ul>
        <li><a href="/members/">All</a></li>
        {exp:low_yearly_archives channel="member-materials" limit="50"}
        <li><a href="/members/{year}/">{year}</a></li>
        {/exp:low_yearly_archives}
      </ul>
    </div>
</form>

送信ボタンがないため、フォームは送信されません。ただし、次のjavascriptを追加すると、選択を再表示するとフォームが正しく送信されますが、見苦しくなります。

JavaScript

// Year Drop Down on members page
// change url
$(document).ready(function() {
    $('#materials-year select').change(function(){
        window.location = $(this).val();
    });
});

送信ボタンなしでドロップダウンを機能させるために何を変更すればよいかわかりません。すべてのヘルプは大歓迎です。

アップデート

Foundation がドロップダウン div の a タグを削除しているようです。

4

1 に答える 1

0

試す:

$('.dropdown').on('click', 'li a', function (e) {
      var location = this.href;
      if (location != '') { // require a URL
            window.location = location; // redirect
        }
      e.preventDefault();
});

//also make sure the values in your select are actual full URLs
于 2013-06-06T16:25:26.587 に答える