2014-01-14 25 views
3

這是我需要的時候,我JQuery的日期選擇器選擇既要和日期調用一個函數:jQuery的日期選擇器ONSELECT通話功能

function showUser() { 
    // Retrieve values from the selects 
    var DateFrom = document.getElementById('DateFrom').value; 
    var DateTo = document.getElementById('DateTo').value; 


    if (dtd=="" || dtm == "" || dfd == "" || dfm == "") { 
     document.getElementById("txtHint").innerHTML=""; 
     return; 
    } 

    if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari 
     xmlhttp=new XMLHttpRequest(); 
    } else {// code for IE6, IE5 
     xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 

    xmlhttp.onreadystatechange=function() { 
     if (xmlhttp.readyState==4 && xmlhttp.status==200) { 
      document.getElementById("txtHint").innerHTML=xmlhttp.responseText; 
     } 
    } 

    xmlhttp.open("GET","/StreetHailDrivers.php?DateFrom="+DateFrom+"&DateTo="+DateTo,true); 
    xmlhttp.send(); 
} 

,這是我的日期選擇器:

$(function() { 
    $('.datepicker').datepicker({ onSelect: showUser(), minDate: -90, maxDate: "+1D" }); 
    }); 

如果我拿出onSelect: showUser() datepicker工作正常,但不張貼數據,但如果我包括onselect datepicker不起作用。沒有下降。

我也試過在HTML onchange事件:

<input type="text" class="datepicker" name="DateTo" id="DateTo" onchange="showUser()" /> 

我應該做的就是它的工作?

回答

4

jsFiddle Demo

的主要問題是,功能showUser不在可用到的日期選擇器分配到的範圍的範圍界定。結果很可能是您在控制檯中可以看到的錯誤:「未捕獲的ReferenceError:showUser未定義」。當錯誤導致所有的腳本執行都停止並且日期選擇器未被構建時。你應該確保datepicker對象有權訪問這個函數。

我相信它期待一個指向該參數的函數的指針。因此,它可能應該

onSelect: showUser 

使用onSelect: showUser()會的onSelect值設置爲showUser返回值是不確定的。

+0

這不幸的是不起作用。我應該提到我也試過這個。 – Mike

+0

@Mike - 這是我的第一個假設,經過進一步的檢查,我相信'showUser'不可用於datepicker選項對象。請參閱我的編輯。 –

+0

你是正確的,ShowUser函數沒有在datepicker的可用範圍內定義。解決了! – Mike

相關問題