Jquery:访问自页面加载以来已更新的属性值
我有两个jquery函数:第一个修改特定属性的值,还更新服务器端数据库,以便在将来的页面加载中呈现该值。第二个函数检索该属性的值 如果运行了第一个函数,并且刷新了页面(以便从服务器检索到该值并存在于pageload上的DOM中),那么第二个函数将按预期工作,并给出该值。但是,如果第一个函数已运行,但页面未刷新,则第二个函数将返回空字符串(原始值) 要检查是否存在其他问题,如果运行第一个函数,然后检查页面的源代码,则它与刷新页面的源代码完全匹配。然而,jquery似乎忽略了更新后的值,而是检索修改前存在的值 肯定有办法解决这个问题 非常感谢 编辑: 这是检查时相关源代码的外观,无论您是在使用jquery更新值之后还是在刷新页面之后检查它:Jquery:访问自页面加载以来已更新的属性值,jquery,ajax,jinja2,Jquery,Ajax,Jinja2,我有两个jquery函数:第一个修改特定属性的值,还更新服务器端数据库,以便在将来的页面加载中呈现该值。第二个函数检索该属性的值 如果运行了第一个函数,并且刷新了页面(以便从服务器检索到该值并存在于pageload上的DOM中),那么第二个函数将按预期工作,并给出该值。但是,如果第一个函数已运行,但页面未刷新,则第二个函数将返回空字符串(原始值) 要检查是否存在其他问题,如果运行第一个函数,然后检查页面的源代码,则它与刷新页面的源代码完全匹配。然而,jquery似乎忽略了更新后的值,而是检索修改
<input type="hidden" class="answer_key" name="answer_key" value="ahVkZXZ-Y3liZXJuYXV0c3Byb2plY3RyEQsSC1JlYnVzQW5zd2VyGEAM" />
那么,如果您不首先刷新页面,为什么answer_key的value=“”
edit2:这让我发疯了,我不知道问题出在哪里。我在这里以非常简单的形式重新创建了基本功能:但它可以正常工作,这表明我的代码中有一些特殊的地方
考虑到这一点,这里有一个链接到整个地段。如果有人能发现问题所在,我将不胜感激——这一天的大部分时间我都被难住了!
听起来像是对jQuery 1.6中的.attr()和.prop()方法的混淆。您是否尝试用.prop()代替.attr() 最好至少保持同步,如果设置attr值并检索prop值,jQuery 1.6.0确实会有问题
对于value,速记函数.val()(用于设置和检索)至少可以工作。您能发布一些代码吗?这听起来有点不对,我刚刚在另一个问题中看到了一个可能的答案——jquery的live()函数的用法。这可能是问题所在-如果不是,我将返回一些代码片段。form.find(“answer\u key”).attr(“value”,data.answer\u key)oops,你是对的-这似乎没有效果,但我猜它一定找到了正确的元素。嗯,这很奇怪,不应该起作用..prop()而不是attr()似乎没有效果-第二个函数仍然返回一个空字符串,尽管第一个函数正确地更新了源代码。嗯,所以我猜您至少使用了1.6,然后我将等待代码片段。完成-有点臃肿,但更新DOM的关键行是:form.find,但以后不会检索到(“应答键”).attr(“值”,数据。应答键)