3

「より良い」URL が必要なユーザー管理サイトがあります。基本的に、クライアントにはユーザーのリストが表示されます。ユーザーは 1 つを選択し、そのユーザーのページを表示できます。したがって、2つのオプションがあります。

  1. 次のような URL のリテラル リストをユーザーに提示し、スクロールさせることができます。

    <ul style="height:300px;overflow:auto">
    <li><a href="/profiles/1">User 1</a></li>
    <li><a href="/profiles/2">User 2</a></li>
    </ul>
    
  2. 次のように、もう少しユーザーフレンドリーなフォーム/選択をユーザーに提示できます。

    <form action="/profiles/" method="GET">
    <select name="user">
    <option value="1">User 1</option>
    <option value="2">User 2</option>
    </select>
    <input type="submit">
    </form>
    

私はどちらも好き嫌いがありますが、私が本当に望んでいるのは両方の長所です。

  1. のような「きれいな」URL が必要です/profiles/1

  2. ユーザーがアイテムの最初の数文字を入力するだけでそこにジャンプする単純なドロップダウンのような UI にしたいと考えています。(その最後の部分は、何千人ものユーザーがいる大したことです)。正確にこれである必要はありませんが、使いやすさは同等です。

  3. 私は のよう/profiles/?user=1に見える URL のファンではありません/profiles/1

これまでのところ、私が思いついた最善の方法は、/profiles/?user=1思わずにリダイレクトすること/profiles/1です。したがって、ユーザーエクスペリエンスはスムーズですが、誰かがもっとうまくできるかどうか興味があります:-)。

アイデア?

4

2 に答える 2

0

賢い野郎であるという名目でJavaScriptを避けたい場合は、 css :hover 疑似クラスを使用して、典型的なアンカータグを含むdivを展開できると思います。何かのようなもの:

.dropdown_parent {
    height:1.25em;
    width:100px;
    display: inline_block;
    position:relative;
}
.dropdown {
    max-height:1.25em;
    overflow:hidden;
    line-height:1.25em;
    border: 1px solid black;
    background: white;
    position:absolute;
    top:0px;
    left:0px;
    right:0px;
}
.dropdown:hover {
    max-height:10em;
    overflow:auto;
}

HTML:

<div class="dropdown_parent>
    <div class="dropdown">
        <a>link</a>
        <a>link</a>
        <a>link</a>
    </div>
</div>

私はこれをまったくテストしていないことに注意してください。

もっと深刻なことに、javascript は、この種のことを行うためのほとんどの方法です。

于 2013-04-04T21:38:02.227 に答える