現在、私は何年も標準の選択入力を持っています。現在、クリックすると、1900年から2000年までの長いリストが表示されます。入力タグを選択 - クリック時に中間日付を選択します
クリックしたときに真ん中に表示されるようにする方法がありますので、上下にスクロールできますか?
私はこれが意味をなさないことを願っています!
現在、私は何年も標準の選択入力を持っています。現在、クリックすると、1900年から2000年までの長いリストが表示されます。入力タグを選択 - クリック時に中間日付を選択します
クリックしたときに真ん中に表示されるようにする方法がありますので、上下にスクロールできますか?
私はこれが意味をなさないことを願っています!
使用selected
属性
<select name="years">
<option>1900</option>
<option>1901</option>
<option>1902</option>
<option>1903</option>
<option>1904</option>
<option selected="selected">1905</option>
<option>1906</option>
<option>1907</option>
<option>1908</option>
<option>1909</option>
<option>1910</option>
</select>
このアプローチの大きな欠点は、デフォルトで有効な値が選択されるため、この入力を強制することができないことです。 –
@Andy Eはい。もう1つの選択肢は、一般的なテキストで非年の値を持つことであり、ユーザーがクリックしてjavascript – Sotiris
がどこか、デフォルトで選択されたミドル(多分1950年)を中心に値を確認します。誰かが選択をクリックすると、選択した値が表示されるので、上または下にスクロールできます。
ドロップダウンの場合<select>
要素ですか?標準化されたクロスブラウザーではありません。一部のブラウザ(テストされていない)は、リストが表示されている間にselect要素のscrollTop
プロパティを操作することを許可しますが、私はそれを信じません。途中で開始する唯一の方法は、デフォルトで中年が選択されていることです。
個人的には、私は気にしません。ほとんどのユーザーは、<select>
要素をとにかく集中しながら入力できることを知っています—ドロップダウンのオプションを選択するのにマウスを使用することはめったにありません<select>
。
あなたはいつも豚の野生に行くとjQueryを使用して、このような何かを行うことができます:
//get number of options
var optCount = $('#example option').length;
//divide by 2 and round up for odd numbers
var midPoint = Math.round(optCount/2);
//select that index item
$("#example option:eq(midPoint)").attr("selected", "selected");
私がテストしていないが、それは動作するはずです。
中間値をデフォルトで選択するか、スクロールボックスをその下に表示するのではなく、その上と下に表示するかどうかを指定しますか? – Benubird
正しい:選択要素の上下に表示されるスクロールボックス。 – amaseuk
おおよそ途中であれば大丈夫でしょうか? (最悪の場合、10回オフ) – Knu