2015-10-29 153 views
1

我想從一個下拉列表中的JavaScript和HTML這是兩個日期(格式僅僅是一年)的價值得到選擇的值,但我不得不說「類型錯誤的錯誤: 「#sortDateFrom」 .VAL是不是一個函數「問題從下拉列表

我要檢查,如果一開始是小然後結束。

我的HTML代碼:

<div class="col-lg-2 col-md-2 col-sm-2"> 
    <select class="form-control" id="sortDateFrom"> 
     <option selected disabled>-Date From-</option> 
     <option>1900</option> 
     <option>1910</option> 
     <option>1920</option> 
     <option>1930</option> 
     <option>1940</option> 
     <option>1950</option> 
     <option>1960</option> 
     <option>1970</option> 
     <option>1980</option> 
     <option>1990</option> 
     <option>2000</option> 
     <option>2010</option> 
    </select> 
</div> <!-- end column 3: Date From --> 
<div class="col-lg-2 col-md-2 col-sm-2"> 
    <select class="form-control" id="sortDateTo"> 
     <option selected disabled>-Date To-</option> 
     <option>1900</option> 
     <option>1910</option> 
     <option>1920</option> 
     <option>1930</option> 
     <option>1940</option> 
     <option>1950</option> 
     <option>1960</option> 
     <option>1970</option> 
     <option>1980</option> 
     <option>1990</option> 
     <option>2000</option> 
     <option>2010</option> 
    </select> 
</div> <!-- end column 3: Date To --> 

而我的職責,在Javascript:

<script>  
    $(document).ready(function(){  
     var startDate = ('#sortDateFrom').val(); 
     var endDate = ('#sortDateTo').val(); 

     if (startDate < endDate){ 
      window.alert("The beginning date must be smaller then the end date "); 
     }  
    });  
</script> 

回答

5

你忘了jQuery $

您還需要檢查當值的變化而不是當頁面準備

<script>  
    $(document).ready(function(){  
     var startDate = $('#sortDateFrom').val(); 
     var endDate = $('#sortDateTo').val(); 
     $('#sortDateFrom, #sortDateTo').change(function(){ 
      if (startDate < endDate){ 
      window.alert("The beginning date must be smaller then the end date "); 
     }) 
     } 
    }); 
    // 
</script> 
+0

現在,他們是沒有錯誤的,但選擇年的時候仍然沒有工作..是在HTML部分的任何錯誤..? @Olavi –

+0

我更新了答案@ HilalAL-Riyami –

0

看看這個:

你不及格$$('#sortDateFrom option:selected').text()

是必要的通選項:選擇過。請看看你不使用選項的價值。爲此,您使用.text()不是.val()。

$(function() { 
 

 
    $('#sortDateFrom, #sortDateTo').change(function() { 
 
     
 
     var startDate = $('#sortDateFrom option:selected').text(); 
 
     var endDate = $('#sortDateTo option:selected').text(); 
 
    
 
     if (startDate < endDate) { 
 
      console.log("The beginning date must be smaller then the end date "); 
 
     } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="col-lg-2 col-md-2 col-sm-2"> 
 
    <select class="form-control" id="sortDateFrom"> 
 
    <option selected disabled>-Date From-</option> 
 
    <option>1900</option> 
 
    <option>1910</option> 
 
    <option>1920</option> 
 
    <option>1930</option> 
 
    <option>1940</option> 
 
    <option>1950</option> 
 
    <option>1960</option> 
 
    <option>1970</option> 
 
    <option>1980</option> 
 
    <option>1990</option> 
 
    <option>2000</option> 
 
    <option>2010</option> 
 
    </select> 
 
</div> 
 
<!-- end column 3: Date From --> 
 
<div class="col-lg-2 col-md-2 col-sm-2"> 
 
    <select class="form-control" id="sortDateTo"> 
 
    <option selected disabled>-Date To-</option> 
 
    <option>1900</option> 
 
    <option>1910</option> 
 
    <option>1920</option> 
 
    <option>1930</option> 
 
    <option>1940</option> 
 
    <option>1950</option> 
 
    <option>1960</option> 
 
    <option>1970</option> 
 
    <option>1980</option> 
 
    <option>1990</option> 
 
    <option>2000</option> 
 
    <option>2010</option> 
 
    </select> 
 
</div>