2012-01-13 8 views
0

値を見つけたときにconsole.log( 'test')を発生させるためにドロップダウンから値を取得しようとしましたが、機能しません。ドロップダウンの値を取得

 if ($("select[name=type_lvl] option:selected").val() == 'FOREIG') { 
      console.log('test'); 
      $("tr#countries").show(); 
    } 

これを調べると、次のようになります。

<option label="Foreign" value="FOREIG">Foreign</option> 

ここにコードのドロップダウンリストがあります。

{html_options name="type_lvl" options=$category} 

私は外国語とFOREIGの両方を試しましたが、どちらもうまくいきません。

EDIT //

別question..whyは、それは私がDOMでこの

{html_options name="type_lvl" options=$category selected=""} 

に自分のコードを設定すると、それは私が私のブラウザ上で選択した内容、選択しないです。プリロード時に元のオプションが選択されたままです。これがここでの主な問題です。このタグの選択したパラメータは、別のオプションを選択すると切り替わりません。

上の{html_options}の出力マークアップが続きます。

<select name="type_lvl"> 
<option label="Select your category" value="" selected="selected">Select your category</option> 
<option label="Exhibition/Workshop/Clinic/Testing" value="EXHIBI">Exhibition/Workshop/Clinic/Testing</option> 
<option label="Invitational Meet" value="INVITA">Invitational Meet</option> 
<option label="Local Meet" value="LOCAL">Local Meet</option> 
<option label="Regional Meet" value="REGION">Regional Meet</option> 
<option label="Sectional" value="SECTION">Sectional</option> 
<option label="State Meet" value="STATE">State Meet</option> 
<option label="Foreign" value="FOREIG">Foreign</option> 
<option label="NC" value="NCATA">NC</option> 
<option label="No Charge" value="COMP">No Charge</option> 
</select> 
+0

出力マークアップを表示できますか?また、どのバージョンのjQueryを使用していますか? – Mathletics

+0

最新版を使用しています。出力は上になります。 – wowzuzz

+0

把握することができました。 $(select).val()は値を変更するときに初期値をリッスンするので混乱します。 – wowzuzz

答えて

0

これを把握して管理してください。

問題は、ドロップダウンのselected属性がオプションを選択するたびに発生したと考えていたことです。それは間違っている。それはオプションをプリロードするためだけです。選択しないでください。そこでjqueryを変更しました。

$("select[name=type_lvl]").change(function() { 
     if ($(this).val() == 'FOREIG') { 
      console.log('test'); 
      $("tr#countries").show(); 
     } 
    }); 

これで機能します。選択されたオプションの属性は、のプリロードされたオプションのため動作しません。

.valはプリロードされた値もリッスンするため、このコードを使用すると機能しません。これは私が混乱したところです。これは何とかすれば

if ($("select[name=type_lvl]").val() == 'FOREIG') { 
     console.log('test'); 
     $("tr#countries").show(); 
} 
1

セレクタからoption:selectedを削除してみます。 $(select).val()は選択した値を返します。

+0

if($( "select [name = type_lvl]")。val()== 'FOREIG'){ \t \t \t \t console.log( 'test'); \t \t \t \t $( "tr#countries")。show(); \t \t} 動作していないようです。 – wowzuzz

関連する問題