我有2个jquery函数:第一个修改特定属性的值,并且还更新服务器端数据库,以便在将来的页面加载中呈现此值。第二个检索此属性的值。
如果运行第一个函数,并刷新页面(以便从服务器检索值并在页面加载中存在于DOM中),则第二个函数按预期工作,给出值。但是,如果运行第一个函数,但页面未刷新,则第二个函数返回一个空字符串(原始值)。
要检查其他内容不是问题,如果运行第一个函数,然后检查页面的源,则它与刷新页面的源完全匹配。但是,jquery似乎忽略了更新的值,而是检索了在修改之前存在的值。
当然有一些解决方法吗?
非常感谢
编辑: 这是相关源代码在检查时的外观,无论您是在使用jquery更新值后立即检查它,还是在刷新页面之后:
<input type="hidden" class="answer_key" name="answer_key" value="ahVkZXZ-Y3liZXJuYXV0c3Byb2plY3RyEQsSC1JlYnVzQW5zd2VyGEAM" />
如果你没先刷新页面,为什么answer_key的值=“”?
编辑2:这让我疯了,无法弄清问题是什么。我在这里以非常小的形式重新创建了基本功能:http://jsfiddle.net/eX78r/1/但它可以正常工作,这表明我的代码中有一些特殊的东西。考虑到这一点,这里有一个链接到整个地段。如果有人能够发现问题可能是什么,我会非常感激 - 我在这一天的大部分时间里都被这一切困扰了! http://pastebin.com/enn1Eca4
答案 0 :(得分:0)
听起来有点混淆.attr()和.prop() - jQuery 1.6中的方法。您是否尝试使用.prop()代替.attr()?
最好保持至少同步,如果你设置attr-value并检索prop-value,jQuery 1.6.0确实有问题。
在值的情况下,速记函数.val()(用于设置和检索)至少会起作用。