2016-06-24 5 views
2

良い一日のonchange追加、同じ機能の実行4回のjQueryと

<script> 
$('#selparents option').each(function() { 
    var type=$('#selparents').val(); 
     alert(type); 
     $.post('<?php echo base_url();?>index.php/user_controll/show_detail/'+type,{ 
      type:type 
     }, 
     function(data) 
     { 
       $('#result').html(data); 
     }); 
}); 
</script> 

上記は私の簡単なjqueryのです。

[OK]を、私はしたいです。ページが実行されると、セッションが作成されます。

public function show_detail($type) 
     { 
       extract(populateform()); 
       $this->session->set_userdata(array('tipe_pilihan' => $type)); 
       ///////// 

しかし、ページがexecutedでない場合、セッションは空でなければなりません。 Onchangeが必要です。 onchangeを追加するには、上記のスクリプトはセッションから値が設定されている場合にのみ機能します。

<select id="selparents" class="form-control select2" name="parent"> 
           <option value="0">None</option> 
            <?php 
       $s = ""; 
      $type_pilihan = $this->session->userdata('tipe_pilihan'); 
             foreach($tipe as $hslnya) 
             { if($type_pilihan == $hslnya->id_tipe) 
              { 
           echo "<option selected value='".$hslnya->id_tipe."'>".$hslnya->deskripsi."</option>"; 
               }else{ 
                echo "<option value='".$hslnya->id_tipe."'>".$hslnya->deskripsi."</option>"; 
               } 
             } 
            ?> 
           </select> 

私の悪い英語のために申し訳ありません。

@Barmarのおかげで私のloop alertが修正されました。しかし、私のolder scriptのようなものではなく、選択ボックスがすでにセッションからいくつかのオプションを選択しているときは、警告が表示されません(再ロード時)。

+0

私は '.each()'ループを理解していません。同じAJAXリクエストを繰り返しています。 – Barmar

+0

それぞれのオプションごとに実行されます:) – guradio

+0

@guradioしかし、彼はオプションから何も使用していない、彼はちょうど '