2016-07-29 79 views
0
<select id="ddlMinExp"> 
      <option value="0">hour</option> 
      <option value="1">1</option> 
      <option value="2">2</option> 
      <option value="3">3</option> 
     <option value="4">4</option> 
      <option value="5">5</option> 
</select> 
<select id="mints1"> 
      <option value="">minuts</option> 
      <option value="00">00</option> 
      <option value="30">30</option> 
</select> 
<select id="ddlMaxExp" class="slct"> 
     <option value="0">hour</option> 
</select> 
<select id="mints"> 
     <option value="">minuts</option> 
     <option value="00">00</option> 
     <option value="30">30</option> 
</select> 

JS:比較選擇框定時

<script> 
    $(function() { 
     $('#ddlMinExp').change(function() { 
      //var selectedMaxValue = Number($(this).val()); 
      var selectedMinValue = Number($('#ddlMinExp').val()); 

      // alert(selectedMinValue); 
      if (selectedMinValue < 12) { 
       //alert(selectedMinValue); 
       $(".slct option").remove(); 
       for (i = selectedMinValue; i < 12; i++) { 
        $('select.slct').append('<option value="' + i + '"' + '>' + i + '</option>'); 
        //alert(i); 
       } 
      } 

      $('body').on('change', '#mints1', function() { 
       var mints = Number($(this).val()); 
       if (mints === 30) { 
        $(".slct option").remove(); 
        var j = selectedMinValue + 1; 
        for (j; j < 12; j++) { 
         $('select.slct').append('<option value="' + j + '"' + '>' + j + '</option>'); 
         //alert(i); 
        } 
       } else { 
        $(".slct option").remove(); 
        for (i = selectedMinValue; i < 12; i++) { 
         $('select.slct').append('<option value="' + i + '"' + '>' + i + '</option>'); 
         //alert(i); 
        } 
       } 
      }); 
     }); 
    }) 
</script> 

如果選擇來自第一選擇框中4自動第三選擇框從4開始,但是當即使我從第二選擇框中第三選擇30選擇框中應該從開始5,第一次它正在工作,第二次如果我從第一個選擇框中選擇3第三個選擇框應該從4 becoz明星已經第二個選擇框中的值是30,當我改變第一個和第二個選擇框第三個選擇框必須改變see fiddle link

回答

1

更新你的小提琴,請che這裏CK https://jsfiddle.net/ka56qw6t/7/

我在$('#ddlMinExp').change(function()增加了一個條件,以檢查「mints1」的值,如果其30然後通過1

+0

它是爲「當過第二個選擇框的值是30」當過第二個選擇框有VALU「」 00「」,那麼第一個選擇框中正常工作和第三個選擇框必須是相同的值 –

+0

謝謝你,先生, –

+0

啊好吧。修改,在這裏檢查.. https://jsfiddle.net/ka56qw6t/8/ –

1

我編輯了自己的整個代碼增加「ddlMaxExp」,我認爲它工作如你所料,看看jsfidde

var selectedMinMnts = $('#ddlMntMin').val()!=="minuts"?Number($('#ddlMntMin').val()):null; 

     updateMaxTime(selectedMinHrs,selectedMinMnts); 
    }); 

    $('body').on('change', '#ddlMntMin', function() { 
    var selectedMinHrs = $('#ddlHrsMin').val() !== "hour"?Number($('#ddlHrsMin').val()):null; 
    var selectedMinMnts = $('#ddlMntMin').val()!=="minuts"?Number($('#ddlMntMin').val()):null; 
     updateMaxTime(selectedMinHrs,selectedMinMnts); 
    }); 

    function updateMaxTime(minHrs,minMnts){ 
     if((minHrs && minHrs != null)){ 
       if (minHrs < 12) { 
        //alert(selectedMinValue); 
        $(".ddlHrsMax option").remove(); 
        for (i = minHrs; i < 12; i++) { 
         $('select.ddlHrsMax').append('<option value="' + i + '"' + '>' + i + '</option>'); 
         //alert(i); 
        } 
       } 
     } 

     if((minMnts && minMnts != null)){ 
      console.log(minMnts); 
      if (minMnts === 30) { 
       $(".ddlHrsMax option").remove(); 
       var j = minHrs + 1; 
       for (j; j < 12; j++) { 
        $('select.ddlHrsMax').append('<option value="' + j + '"' + '>' + j + '</option>'); 
        //alert(i); 
       } 
      } else { 
       $(".ddlHrsMax option").remove(); 
       for (i = minHrs; i < 12; i++) { 
        $('select.ddlHrsMax').append('<option value="' + i + '"' + '>' + i + '</option>'); 
        //alert(i); 
       } 
      } 
     } 


    } 

}) 
+0

謝謝你,先生, –

+0

你可以使作爲答案,如果你喜歡ot –

+0

我已經給你upote bcoz你的回答是正確的,我該如何讓你的ur答案是正確的,你可以告訴 –