13406 次
3 に答える
17
ルーカスが言ったように、値属性が必要なものです。コードを使用すると、次のようになります (選択に id 属性を追加してフィットさせました):
$select = $('<select id="mySelect"></select>');
$select.append('<option value="1">Jason</option>') //Key = 1
.append('<option value="32">John</option>') //Key = 32
.append('<option value="423">Paul</option>') //Key = 423
jQuery では、val() メソッドを使用して値を取得できます。これを select タグで使用すると、現在選択されているオプションの値を取得できます。
$( '#mySelect' ).val(); //Gets the value for the current selected option
$( '#mySelect > option' ).each( function( index, option ) {
option.val(); //The value for each individual option
} );
念のため、.each メソッドは、クエリが一致したすべての要素をループします。
于 2008-08-26T02:07:27.940 に答える
6
HTML<option>
タグには「value」という属性があり、ここにキーを格納できます。
例えば:
<option value=1>Jason</option>
これが jQuery でどのように機能するかはわかりませんが (私は使用しません)、それでもなお、これが役立つことを願っています。
于 2008-08-26T01:53:42.777 に答える
2
HTML5 を使用している場合は、カスタム データ属性を使用できます。次のようになります。
$select = $("<select></select>");
$select.append("<option data-key=\"1\">Jason</option>") //Key = 1
.append("<option data-key=\"32\">John</option>") //Key = 32
.append("<option data-key=\"423\">Paul</option>") //Key = 423
次に、選択したキーを取得するには、次のようにします。
var key = $('select option:selected').attr('data-key');
または、XHTML を使用している場合は、カスタム名前空間を作成できます。
キーが繰り返される可能性があると言うので、値属性を使用することはおそらくオプションではありません。フォーム投稿で同じ値を持つさまざまなオプションのどれが選択されたかがわからないためです。
于 2008-08-26T02:22:07.843 に答える