2016-10-11 13 views
0

私はポップモーダル内にあるドロップダウンリストを持っています。JQoeryを使用してドロップダウンリスト項目の値を取得できません

<select name="EventTypeId" class="form-control formTextBox" id="ddlEventType"> 
    <option value="">Please Select</option> 
    <option value="1">Assessment</option> 
    <option value="2">Single Session</option> 
    <option value="3">Group Session</option> 
</select> 

そして、私のjqueryのは、次のようになります:ドロップダウンリストには次のようになります

$("body").on("change", "#ddlEventType", function (e) { 
var test = $('#ddlEventType').val(); 
}); 

それはのonchange機能も問題ありませんを打つが、私は、DDLのオプションを選択したときに、テスト変数は常に ""であり、決して値を取得しません。誰でもここで間違っていることを私に助けることができますか?それはddlがモーダルポップアップの内側にあるからですか?私は実際には、同じモーダルポップアップのddlを持っていて、まったく同じコードを持っています。年齢にも矛盾したIDはありません。なぜ私が価値を得ていないのか分かりません。

UPDATE

私はddlddlEventTypeのクラス名を与えた、と

$("body").on("change", "#ddlEventType", function (e) { 
var test = $('.ddlEventType').val(); 
}); 

、これが働い何らかの理由にjqueryのを変更しました。理由は分かりませんが、それが機能し、それだけですべてが必要です。みんなあなたの助けをありがとう。

+1

'preventDefaultAction()'メソッドとは何ですか?コンソールにエラー –

+0

があることを確認して、xブラウザの安全な「PreventDefault」イベントを提供する機能。それはJqueryのイベントラッパーでない限り、IEではそれが1つありません。私はこれを削除しましたが、違いはありません。私は私の質問からそれを削除します、人々を混乱させる可能性があります、それは無関係です。 – necrofish666

+3

これについて初めて聞いた...今ではIDが 'ddlEventType'の要素が複数ありませんか?関連する 'this'を使うとどうなるでしょう:' var test = $(this).val(); '?! –

答えて

0

はこれを試してみてください:

$(document).on('change','#ddlEventType',function(){ 
    console.log($(this).val()); 
    }); 

あなたは身体への変更を行っています。 preventDefaultの場合はe.preventDefault();

+0

を共有することができます 'それはそう、この答えはEDITそれを修正しないというproblem'のonchange機能を打つん:私は、あなたが関連する可能性があるthis'は確か –

+0

私はpreventDefaultメソッドを削除'使用しているよりも、逃しましたそれは本当に必要ではなく、私がそれを取り除くと、私が価値を得ていないという事実は変わりません。 – necrofish666

+0

はA.Wolff @ - ?彼はあなたが疲れて 'セレクタからbody'を削除持ってあなたがnecrofish666 @コメント – danwellman

0

onchange()属性を使用して選択タグから選択した値を取得する方法は次のとおりです。

  1. 最初の方法では、onchange()をスクリプト関数に直接呼び出しました。
  2. 第2の方法私はselectタグに直接関数を与えてから、スクリプトファイルで関数を呼び出しました。

まず方法:

$(document).ready(function(){ 
 
$("#ddlEventType").change(function(){ 
 
    alert($(this).val()); 
 
}); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select name="EventTypeId" class="form-control formTextBox" id="ddlEventType"> 
 
    <option value="">Please Select</option> 
 
    <option value="1">Assessment</option> 
 
    <option value="2">Single Session</option> 
 
    <option value="3">Group Session</option> 
 
</select>

第2の方法:

function get_value(a) 
 
{ 
 
    alert(a); 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select name="EventTypeId" class="form-control formTextBox" id="ddlEventType" onchange="get_value(this.value)"> 
 
    <option value="">Please Select</option> 
 
    <option value="1">Assessment</option> 
 
    <option value="2">Single Session</option> 
 
    <option value="3">Group Session</option> 
 
</select>

関連する問題