2016-07-29 81 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答案是正确的,你可以告诉 –