2011-07-07 7 views
0

ifおよびitemが選択されているかどうかを調べるには、htmlのドロップダウンリストをループするのが最善の方法を知りたい。ドロップダウンリスト内のアイテムが選択されているかどうかを確認する

私はC#で、それは

int selected = cmbFamily.SelectedIndex; 

     for (int loop = 0; loop < cmbFamily.Items.Count; loop++) 
     { 
      if (selected == -1) 
      { 
       MessageBox.Show("please select an item", "Please", MessageBoxButtons.OK, MessageBoxIcon.Error); 
       break; 
      } 
     } 

どのように私はJavaScriptでこれを行うにに行くかの線に沿って何かだろう知っていますか?

<tr style="font-size:12pt; font-weight:bold; color:#FFFFFF; font-family:High Tower Text;"> 
        <td>Family to join:</td> 
        <td><select name="drpFamily"> 
         <option/>-select- 
         <option/>Gambino 
         <option/>Genovese 
         <option/>Lucchese 
         <option/>Colombo 
         <option/>Bonanno 
        </select><font color="red">*</font></td> 
       </tr> 

種類は アリウス

+0

あなたのC#コードは私にとってはひどいです:どのようなループですか? –

+1

」は使用しないでください!もはや1999年ではない。 – epascarello

答えて

1

まずオフあなたのHTMLコードは完全に間違っています。それはそれは

//var options = document.getElementById("selectId").options; 
var options = document.formName.selectName.options; 
for(var i=0;i<options.length;i++){ 
    if(options[i].selected){ 
    alert(options[i].value); 
    } 
} 

のと同じくらい簡単ですが、単一の選択をループする必要がないオプションをループし<option>text</option>

で、</option>textではありません。一番簡単な方法は、選択したインデックスを単一の選択に使用することです。

//var sel = document.getElementById("selectId"); 
var sel = document.formName.selectName; 
var opt = sel.options[sel.selectedIndex]; 
alert(opt.value); 
+0

コードのポインタをありがとう... – Arianule

1

まずに関しては:your HTML is wrong.

それは

<option>-select- 
... 

または

<option>-select-</option> 
... 

でなければなりません

あなただけ選択した値が必要な場合は、select要素のvalue属性を経由してそれを得ることができます。

var value = document.getElementsByName('drpFamily')[0].value 

名前drpFamily持つ唯一の要素がある場合にのみ機能します。そうでない場合は、適切な方法を選択して選択する必要があります。

あなたが(デフォルトで選択された)最初の値に対してそれを比較したい場合があります

if(value !== '-select-') 

また、select要素にchangeイベントリスナーを追加することができます。

document.getElementsByName('drpFamily')[0].onchange = function() { 
    if(this.value !== '-select-') { 
     //a value other '-select-' than was selected 
    } 
} 
関連する問題