2012-02-02 36 views
0

私はハードコードしてドロップダウンリストに項目を追加しました。つまり、1,2,3のようにチーム化します。ドロップダウンリストで重複を削除します

私は編集/更新のために、このドロップダウンリストをロードすると私はどうすればよいこの

4のような重複した値を...得ますこの重複値を排除するか?

私はつまり、最初のロード時にあなたは、このようにコード化リストを参照してください、その行

<option value="<?php echo isset($event)?$event->proc_anesthesia_type:"" ;?>"><?php echo isset($event)?$event->proc_anesthesia_type:"" ;?></option>

は、選択コントロールから選びだしオプションに対応してオプションを追加疑う

  <select name="anesthesia" id="selectAnesthesiaVal" style="width:25%;" class="required safe" AppendDataBoundItems = "false"> 
      <option value="<?php echo isset($event)?$event->proc_anesthesia_type:"" ;?>"><?php echo isset($event)?$event->proc_anesthesia_type:"" ;?></option><option value="General">General</option> 
      <option value="Mac">Mac</option> 
      <option value="Spinal/Epidural">Spinal/Epidural</option> 
      <option value="Regional">Regional</option> 
      <option value="Local">Local</option> 
      <option value="Other">Other</option> 
     </select> 
+2

でこれを行うにははるかに効率的であることに注意してください? – Mike

+1

"ハードコードされている"場合、どのように編集/更新していますか? –

+0

jQuery.each()を使用して各要素をループし、同じ値を持つ別の要素が存在するかどうかをテストします。その場合は、jQuery.remove()を使用して削除します。 –

答えて

1

で、この条件をご確認くださいこれに対してjQueryを使用すると、考えられるすべての値を配列に格納し、PHPでループすることをお勧めします。値が存在する場合は、一度置きます。

また、jQueryを使用したい場合は、PHPを使用することができませんので、私にお知らせください。私はいくつかのjQueryを投稿します。

UPDATE

これは、トリックを行います。私は、ステップバイステップで何が起こっているのかを明確に説明しました。お役に立てれば。

は、それが「ハードコード化されたドロップダウンリスト」のコードは何PHP

// Set the present object 
var present = {}; 
$('#selectAnesthesiaVal option').each(function(){ 
    // Get the text of the current option 
    var text = $(this).text(); 
    // Test if the text is already present in the object 
    if(present[text]){ 
     // If it is then remove it 
     $(this).remove(); 
    }else{ 
     // Otherwise, place it in the object 
     present[text] = true; 
    } 
}); 
1

以下のコードを見つけてくださいlineは空のオプションを返しますが、実際のオプションを選択すると、最初の値は選択された値で設定されます

このcあなたは2つのことをする必要があります 1この行を削除します 2ハードコードされたオプションの各行に条件を追加し、$event->proc_anesthesia_type の値に応じて選択するように設定し、2番目のタンクのために6つのほとんど同じ条件文全体のコードは、私はオプションをhardcoddingのではなく、お勧めきれいに見えるようにするために、各オプションそう

からselected='selected'リストに値またはより良い辞書を追加し、使用したくない場合はループ

関連する問題