2015-07-03 156 views
0

我探討了很多線程,我的問題仍然沒有解決。將PHP變量傳遞給JQuery datepicker?

我有一個jQuery的日期選擇器:

<input id="datepicker" name="date" class="mydatepicker" onchange="isValidDate()"></input> 

我想一個PHP變量傳遞給這個jQuery線:

$('#datepicker').datepicker('setDate', "<?php echo $UpdatedDataLogDate; ?>"); 

如果它的長度大於5。到目前爲止,我有這樣的:

<?php 

if(strlen($_SESSION['DataLogDate'])>5){ 

$DataLogDate = $_SESSION['DataLogDate']; 
$UpdatedDataLogDate = date('m/d/Y', strtotime($DataLogDate)); 

echo "<script> hi(); </script>"; 
} 

?> 

<script type="text/javascript"> 
$(document).ready(hi() { 
$('#datepicker').datepicker('setDate', "<?php echo $UpdatedDataLogDate; ?>"); 
}); 
</script> 

<script type="text/javascript"> 
$(document).ready(function() { 
     $("#datepicker").datepicker(); 

</script> 

日期選擇器綁定到這些文件:

<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/base/jquery-ui.css" rel="stylesheet" type="text/css"/> 
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script> 
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/jquery-ui.min.js"></script> 
+0

你有多個(至少兩個)語法錯誤。修復這些錯誤,它應該工作。而你沒有告訴你有什麼問題。提示:使用瀏覽器的JavaScript控制檯來查找語法問題。 –

+0

哦,而不是'<?php echo $ UpdatedDataLogDate;你可以使用'<?= $ UpdatedDataLogDate?>'(相反地,縮短開放標記符號,這個語法沒有過時,並且默認啓用,所以它是可移植的)。 –

+0

無法從PHP變量填充日期值...這些是Javascript錯誤顯示:Uncaught ReferenceError:hi未定義(匿名函數)@(index):1132 (索引):1134未捕獲的SyntaxError:意外的標記{ – bob

回答

0
<script type="text/javascript"> 
$(document).ready(function() { 
$("#datepicker").datepicker(); 
$('#datepicker').datepicker('setDate', "<?php echo $UpdatedDataLogDate; ?>"); 
if($('#datepicker').datepicker("getDate")!== null){ 
$('#datepicker').css({"background-color": "#BFFFBF"}); 
} 
check(); 
}); 
</script> 

<script type="text/javascript"> 
function check(){ 
if($('#datepicker').datepicker("getDate")!== null){ 
isValidDate(); 
} 
} 
</script> 

isValidDate()是驗證日期的JavaScript函數...如果驗證,用戶可以方便地移動到下一個頁面(的方式我們的JavaScript設置)...