我想我会慢慢陷入精神错乱。在我的代码中我有
<script>
console.debug("1) <?=$_SESSION["searchEndDate"]?>");
console.debug("2) " + $("#searchEndDate").val()); //if another element would exist with that it, it would give me that elements value here
</script>
<input type="text" class="dateInput" id="searchEndDate" value="<?=$_SESSION["searchEndDate"]?>" />
<script>
console.debug("3) " + $("#searchEndDate").val());
console.debug("4) <?=$_SESSION["searchEndDate"]?>"); // just to be sure it wasn't interfered anywhere
</script>
控制台输出奇怪地说
1) 03.05.2015 //correct
2) undefined //correct (no other elements with the same id)
3) 01.05.2015 //wait...what?
4) 03.05.2015 //still correct, session was not interfered
...如果我查看页面的html源代码,则value元素显然包含正确的值。仍然调试包含错误的值...当我在代码中稍后初始化一个日期选择器时,datepicker将具有错误的日期。我真的很困惑......
我错过了什么?
[编辑]:是的,我知道日期选择器的实际初始化必须在文档就绪功能中。但那不是重点!请在回答之前仔细阅读问题!
[编辑2]:使用jQuery:
jQuery core 1.10.2
jQuery ui 1.10.4
jQuery mobile 1.4.5
答案 0 :(得分:1)
好的我已经在我的localhost上运行了以下代码:
<?php
session_start();
$_SESSION['searchEndDate'] = '03.05.2015';
?>
<script src="https://code.jquery.com/jquery-2.1.3.min.js"></script>
<script>
console.debug("1) <?=$_SESSION["searchEndDate"]?>");
console.debug("2) " + $("#searchEndDate").val()); //if another element would exist with that it, it would give me that elements value here
</script>
<input type="text" class="dateInput" id="searchEndDate" value="<?=$_SESSION["searchEndDate"]?>" />
<script>
console.debug("3) " + $("#searchEndDate").val());
console.debug("4) <?=$_SESSION["searchEndDate"]?>"); // just to be sure it wasn't interfered anywhere
</script>
我的控制台输出是这样的:
1) 03.05.2015
2) undefined
3) 03.05.2015
4) 03.05.2015
您的浏览器历史记录是否存在问题,尝试自动填写它知道的输入字段?尝试类似 - http://www.w3schools.com/tags/att_input_autocomplete.asp
的内容答案 1 :(得分:-1)
您是否尝试过将代码放入
$( document ).ready(function() {
console.log( "ready!" );
});
在您通过javascript
访问之前,您尝试访问#searchEndDate