2012-05-09 14 views
1

私はhtmlで7つのドロップダウンボックスを持つようにしています。彼らはすべて同じデータを入力します。私がしようとしているのは、最初のドロップダウンが選択され、選択された項目が次のドロップダウンから削除されるときです。だから、あなたが数字を持っている場合:最初のドロップダウンでBを選択し、次にドロップダウンでA、C、Dだけを表示しなければならない場合は、A、B、C、D、E、F、G、 、E、F、G、H、Iなど、最大7回のドロップダウンが可能です。私はJavaScriptやJQueryでこれに接近する最善の方法が何であるか分かりません。あなたの助けを前もってありがとう。カスケードDropDown前の選択を削除

<table> 
    Selected Options: <div id="123"></div> 
     <tr> 
     <td class="assessmentHeader" align="left"><U> Diagnosis: - </U><br/> <!---Added code 88898 Created 7 dropdowns for Diagnosis 05/04/2012---> 
      <!---<font style="visibility:hidden"><textarea name="diagnosis" rows="2" cols="5" disabled="disabled">NULL</textarea></font><br/>--->                    
      Primary : <select name="Primary" onchange="selected(this)"> 
      <option value=""></option> 
      <cfloop query="DCheck"> 
      <option value="#DCheck.cDescription#" >#DCheck.cDescription#</option></cfloop>              
      </select> &nbsp;&nbsp; <br/> <br/> 
      Secondary: <select name="Secondary" onchange="selected(this)"> 
      <option value=""></option> 
      <cfloop query="DCheck"> 
      <option value="#DCheck.cDescription#">#DCheck.cDescription#</option> </cfloop> 
                       </select>&nbsp;&nbsp;<br><br /> 
      Third &nbsp; : <select name="Third" onchange="selected(this)"> 
      <option value=""></option> 
      <cfloop query="DCheck"> 
      <option value="#DCheck.cDescription#">#DCheck.cDescription#</option></cfloop> 
                       </select>&nbsp;&nbsp;<br><br/> 
      Fourth : <select name="Fourth" onchange="selected(this)"> 
      <option value=""></option> 
      <cfloop query="DCheck"> 
      <option value="#DCheck.cDescription#">#DCheck.cDescription#</option></cfloop> 
                       </select>&nbsp;&nbsp;<br><br/> 
      Fifth &nbsp; : <select name="Fifth" onchange="selected(this)"> 
      <option value=""></option> 
      <cfloop query="DCheck"> 
      <option value="#DCheck.cDescription#">#DCheck.cDescription#</option></cfloop> 
                       </select>&nbsp;&nbsp;<br><br/> 
      Sixth &nbsp; : <select name="Sixth" onchange="selected(this)"> 
      <option value=""></option> 
      <cfloop query="DCheck"> 
      <option value="#DCheck.cDescription#">#DCheck.cDescription#</option></cfloop> 
                       </select>&nbsp;&nbsp;<br><br/> 
      Seventh : <select name="Seventh" onchange="selected(this)"> 
      <option value=""></option> 
      <cfloop query="DCheck"> 
      <option value="#DCheck.cDescription#">#DCheck.cDescription#</option></cfloop> 
                       </select>&nbsp;&nbsp;<br><br /> 
      </td>      
     </tr> 
     </table> 
+0

これまでHTMLとjQueryを記載してください。何もまだ始まっておらず、あなたが持っている特定の問題を投稿していれば... – iambriansreed

+0

@iambriansreed HTMLを投稿することはできますが、HTMLのデータにはデータベースからデータが取り込まれるため、あまり役に立たないでしょう。 JavaScriptやJQueryのコードはありません。なぜなら、これにアプローチする方法もわからないからです。私は2つのドロップダウンのためにそれを行う方法を知っているが、2つ以上は混乱する。 –

+0

あなたが持っているものを示してください。ダミー選択オプションはうまく動作します。 – iambriansreed

答えて

3

http://jsfiddle.net/iambriansreed/AyxSE/

これは無限selectタグのために働きます。

jQueryの

$('#select-group select').change(function(){ 

    var values = []; 
    $('#select-group select').each(function(){ 
     if(this.value.length > 0) 
      values.push(this.value); 
    }); 

    $('#select-group select optgroup').each(function(){ 
     $(this).after('<option>'+   $(this).attr('label')+'</option>').remove(); 
    }); 

    $('#select-group select option').each(function(){ 
     if($.inArray(this.value, values) > -1 && 
      !this.selected)     
     $(this).after('<optgroup label="'+this.value+'"></optgroup>').remove(); 
    }); 

});​ 

HTML

<div id="select-group"> 
    <select> 
     <option value="">Select a ...</option> 
     <option>A</option> 
     <option>B</option> 
     <option>C</option> 
     <option>D</option> 
     <option>E</option> 
     <option>F</option> 
     <option>G</option> 
    </select> 
    <select> 
     <option value="">Select a ...</option> 
     <option>A</option> 
     <option>B</option> 
     <option>C</option> 
     <option>D</option> 
     <option>E</option> 
     <option>F</option> 
     <option>G</option> 
    </select> 

</div>​ 
+0

実際にはうまく動作しません...特に1つを選択しようとすると、もう一度選択を解除します...間違ったデータが表示されます –

+0

固定を参照してください... – iambriansreed

+2

@ rayan.gigs私の答えとフィドルを更新しました。 :)良いキャッチ! – iambriansreed

関連する問題