0

複数の入力要素と選択要素を持つフォームがあります。フォームの最後に、ユーザーが入力/選択した内容の概要を表示しています。ユーザーが変更を加えたときに、これをリアルタイムで変更したいと考えています。

ここに私のフォームの一部があります:

<select class="select" id="eventType" name="eventType">
    <option vlaue="0"></option>
    <option value="0">Wedding</option>
    <option value="0">Private Party</option>
    <option value="0">Corporate Event</option>
 </select>

そして、私が使用しているjQuery:

$(".txt, .select, .checkbox").each(function() {
        $(this).change(function(){
    createSummary();
        });
    });

function createSummary() {
    var eventType = $("#eventType").val();      
    $(".summary_eventType").html(eventType);

}

ただし、これは、選択されている実際のテキストではなく、値 0 を返すだけです。

4

3 に答える 3

1

わかりました、これから他に何を得たいですか?:

<select class="select" id="eventType" name="eventType">
  <option vlaue="0"></option>
  <option value="0">Wedding</option>
  <option value="0">Private Party</option>
  <option value="0">Corporate Event</option>
</select>

これにより、すべての値がセットになっているため、値がゼロになり0ます。何らかの値を使用すると、エラーが最小限に抑えられます。

次のような値を設定します。

<select class="select" id="eventType" name="eventType">
  <option value="0"></option>
  <option value="1">Wedding</option>
  <option value="2">Private Party</option>
  <option value="3">Corporate Event</option>
</select>

vlaueまた、最初のオプションを使用していることに注意してください。それは正しい方法ではありません!を使用する必要がありますvalue。それで全部です。

于 2013-09-10T16:35:42.897 に答える
1

選択したオプションのテキストを取得するには.html()

var eventType = $("#eventType option:selected").html(); 

ライブデモ

于 2013-09-10T16:30:17.377 に答える
0

すべてのオプションの値は次のように設定されますO

以下のこれらの各オプションでは、valueに設定されていますzero

<option value="0">Wedding</option> // see value='0'
 <option value="0">Private Party</option>
<option value="0">Corporate Event</option>

これを次のように変更できます

<option value="Wedding">Wedding</option> // 
     <option value="Private Party">Private Party</option>
    <option value="Corporate Event">Corporate Event</option>

動作デモ

また

ワーキングデモ

コードを変更する

function createSummary() {
    var eventType = $("#eventType option:selected").text() // changed code
    $(".summary_eventType").html(eventType);

}
于 2013-09-10T16:38:40.210 に答える