2017-05-11 14 views
0
<label class="col-sm-1 control-label">Tahun Lulus</label> 
<div class="col-sm-1"> 
    <select class="form-control1" name="thn_lulus1"> 
     <option value="">--Pilih--</option> 
     <?php            
     $tahunawal = 2000;                
     $query = mysqli_query($k,"select YEAR(now()) as tahun"); 
     $obj = mysqli_fetch_object($query);             
     while($tahunawal<=$obj->tahun){ 
     ?> 
     <option value="<?=$tahunawal; ?>"><?=$tahunawal; ?></option> 
     <?php 
     $tahunawal++; 
     } 
     ?> 
    </select> 
</div> 
<div class="col-sm-1"> 
    s/d 
    <select class="form-control1" name="thn_lulus2"> 
     <option value="">--Pilih--</option> 
     <?php            
     $tahunawal = 2000;                
     $query = mysqli_query($k,"select YEAR(now()) as tahun"); 
     $obj = mysqli_fetch_object($query);             
     while($tahunawal<=$obj->tahun){ 
     ?> 
     <option value="<?=$tahunawal; ?>"><?=$tahunawal; ?></option> 
     <?php 
     $tahunawal++; 
     } 
     ?> 
    </select> 
</div> 

上記のコードは、開始年が2000年までのコンボボックスの年を示しています。初年度以上の年度を選ぶにはどうすればいいですか?

最初の年以上で2年目を選ぶ方法を教えてください。

+1

です。ユーザーが最初の選択から年を選択すると、javascriptを使用してその変更をリッスンし、2番目の選択からその前の年を削除します。 – xRahul

+0

サンプルコードが表示されますか?@Rahul – Robin

+0

オプションに関するサンプルデータを表示します。 –

答えて

0

あなたの選択タグにIDを追加してください。以下のような -

<select class="form-control1" name="thn_lulus1" id="thn_lulus1"> 

<select class="form-control1" name="thn_lulus2" id="thn_lulus2"> 

そして -

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<script type="text/javascript"> 
$("select").on("change", function(e){ 
    if(e.target.id == "thn_lulus1"){ 
     var lulu1 = $(e.target).val(); 
     $.each($("#thn_lulus2 option"), function(k,v){ 
      if($(v).val() < lulu1) 
       $(v).attr("disabled", true); 
     }); 
    } 
}); 
</script> 
+0

thx @Mahfuzur Ra​​hmanさん、あなたの返事はありますが、私のコードではうまくいきません.hmm – Robin

+0

あなたのコードにjqueryのlibがありますか?返事が遅れて申し訳ありません –

+0

が、それはありますか?@Mahfuzurラーマン 'コード' ます。 ます。 'code' – Robin

0

あなたは、Ajaxのために行くことができます。このコードのように
: -

HTMLコード:

<select id='dropdown1' onChange='getData(this.value);'> 
    <option value="">--Pilih--</option> 
    <?php            
     $tahunawal = 2000;                
     $query = mysqli_query($k,"select YEAR(now()) as tahun"); 
     $obj = mysqli_fetch_object($query);             
     while($tahunawal<=$obj->tahun) 
     { 
    ?> 
      <option value="<?=$tahunawal; ?>"><?=$tahunawal; ?></option> 
    <?php 
      $tahunawal++; 
     } 
    ?> 
</select> 

<select id='dropdown2'> 
</select> 

Javascriptのコード:

<script> 
    function getData(val) 
    { 
     var xmlhttp = new XMLHttpRequest(); 
     xmlhttp.onreadystatechange = function() 
     { 
      if (this.readyState == 4 && this.status == 200) 
      { 
       document.getElementById("dropdown2").innerHTML = this.responseText; 
      } 
     }; 
     xmlhttp.open("GET", "data.php?q="+val, true); 
     xmlhttp.send(); 
    } 
</script> 

PHPコード:

<?php 
    //mysql connection 
    $val = $_GET['q']; 
    $str = ''; 
    //select query contains where condition like 'Year > $val' 
    $obj = mysqli_fetch_object($query);             
    while($tahunawal<=$obj->tahun) 
    { 
     $str .= '<option value="'.$tahunawal.'">'.$tahunawal.'</option>'; 
    } 
    echo $str; 
?> 
+0

thx @ YashParekh、しかし、私はすでにこの問題を解決しています。あなたの返事には感謝しています。 – Robin

0

1つの方法は、最初から選択したオプションよりも小さいオプションを、2番目の選択ボックスから無効にすることです。

は、ここでは、そのためにJavaScriptを使用しなければならないでしょうfiddle-

<script> 
 
    function changeS2() { 
 
    var selectBox1 = document.getElementById("s1"); 
 
    var selectedValue1 = parseInt(selectBox1.options[selectBox1.selectedIndex].value); 
 
    var selectBox2 = document.getElementById("s2"); 
 
    var selectedValue2 = parseInt(selectBox2.options[selectBox2.selectedIndex].value); 
 

 

 
    for (i = 0; i < selectBox2.options.length; i++) { 
 
     if (parseInt(selectBox2.options[i].value) < selectedValue1) { 
 
     selectBox2.options[i].disabled = true; 
 
     if (parseInt(selectBox2.options[i].value) == selectedValue2) { 
 
      // you can change it 
 
     } 
 
     } else { 
 
     selectBox2.options[i].disabled = false; 
 
     } 
 
    } 
 
    } 
 
</script> 
 

 
<select name="asdf" id="s1" onchange="changeS2();"> 
 
    <option value="2000">2000</option> 
 
    <option value="2001">2001</option> 
 
    <option value="2002">2002</option> 
 
    <option value="2003">2003</option> 
 
    <option value="2004">2004</option> 
 
</select> 
 
<select name="qwer" id="s2"> 
 
    <option value="2001">2001</option> 
 
    <option value="2002">2002</option> 
 
    <option value="2003">2003</option> 
 
    <option value="2004">2004</option> 
 
    <option value="2004" selected>2005</option> 
 
</select>

+1

wow thx rahul、私のために働いています! @rahul – Robin

+0

@Robin cool ..これを答えとしてマークしますか? – xRahul

関連する問題