2015-10-29 117 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>