有一个html如下:
$(document).ready(function(){
var currency_factor = $('#currency_factor').val()
alert(currency_factor);
}
还有一个jquery函数:
<input id="currency_factor" type="text" style="display:none;" value="0"/>
刷新后,html行在浏览器中显示为:
<input type="hidden" name="years" value="<?php
if ($years == 1) {
echo '10';
}
else if ($years == 5) {
echo '50';
}
?>" />
<input type="hidden" name="years-orig" value="<?php echo $years; ?>">
但是jquery返回20。
为什么会这样?
答案 0 :(得分:1)
尝试将此添加到html文件的标头中以禁用缓存:
<meta http-equiv="Cache-Control" content="no-store" />
实际上有许多缓存控制标记可能需要也可能不需要,具体取决于所使用的浏览器。这是StackOverflow上的另一个帖子,其中列出了其中一些:Using <meta> tags to turn off caching in all browsers?
答案 1 :(得分:0)
首先尝试初始化然后设置
$(document).ready(function(){
var currency_factor = 0;
currency_factor = $('#currency_factor').val()
alert(currency_factor);
}
答案 2 :(得分:0)
您是否拥有多个id
currency_factor
的元素?可能会返回第一个值。
另一种可能性是在$(document).ready()
函数执行后更改了值。加载后尝试在浏览器控制台中运行$('#currency_factor').val()
。如果它返回0
,则在页面加载后更改。