jQueryを使用して、select要素(ドロップダウンリスト)の選択された値を取得および設定しようとしています。
私が試してみ$("#myId").find(':selected').val()
ました$("#myId").val()
が、両方とも未定義を返します。
この問題への洞察は大歓迎です。
jQueryを使用して、select要素(ドロップダウンリスト)の選択された値を取得および設定しようとしています。
私が試してみ$("#myId").find(':selected').val()
ました$("#myId").val()
が、両方とも未定義を返します。
この問題への洞察は大歓迎です。
回答:
あなたがそれを持っている方法は、現時点では正しいです。selectのidがあなたの言うことではないか、domに問題があります。
要素のIDを確認し、また、であなたのマークアップを検証を確認し、ここ W3Cで。
有効なdomがないと、jQueryはセレクターで正しく動作できません。
IDが正しく、DOMが検証する場合、以下が適用されます。
選択オプション値を読み取るには
$('#selectId').val();
選択オプション値を設定するには
$('#selectId').val('newValue');
選択したテキストを読むには
$('#selectId>option:selected').text();
select要素の実際のselectedIndexプロパティを取得/設定するには、以下を使用します。
$("#select-id").prop("selectedIndex");
$("#select-id").prop("selectedIndex",1);
.attr()
および.prop()
同義語ではありません。それは例えば、属性もプロパティである特定の場合に動作する.attr('id')
に等しいです.prop('id')
。この場合、.prop('selectedIndex')
はに等しい.get(0).selectedIndex
です。
で設定するJQM
場合は、必ず更新してUI
ください。
$('#selectId').val('newValue').selectmenu('refresh', true);
$( "#myId option:selected").text(); ドロップダウン要素で選択したテキストが表示されます。どちらの方法でも、.val()に変更できます。それの価値を得るために。以下のコーディングを確認してください
<select id="myId">
<option value="1">Mr</option>
<option value="2">Mrs</option>
<option value="3">Ms</option>`
<option value="4">Dr</option>
<option value="5">Prof</option>
</select>
これを試して
$('#your_select_element_id').val('your_value').attr().add('selected');