【发布时间】:2014-04-17 12:21:00
【问题描述】:
所以我有一个具有 onblur/onkeyup/onclick 触发器的文本字段。这很好用。
它获取值并将其添加到<b id="search_term"></b> 中。这有效,但只是第一次在视觉上。但是,inspector 显示它每次都在更新。
要更新的元素位于固定位置,如果搜索输入不为空,我使用 JQuery $( "#search_results" ).slideDown( "slow", function() {}); 显示容器元素。
如果我单击关闭按钮触发slideUp() 函数,那么在元素消失之前,您可以在一瞬间看到元素中更新的文本。
有人遇到过这种现象吗?搜索没有产生类似的结果。
我试过了
$("#search_term").text(string);
$("#search_term").html(string);
document.getElementById("search_term").innerHTML=string;
它们都不用实际变量更新。
我还测试了使用 JQuery 从文本框中检索值。如果在运行一次函数后更改文本框的值,获取更新值的唯一可能方法是通过$('#test_box').attr("value");
.text() 和 .html() 仍然显示第一个值。
这是 JQuery 中的错误还是我做错了什么?
试图解决几个小时。感谢您的建议。
编辑:
将其缩小为slideDown() 和slideUp() 的问题。如果我删除它们并只使用.show(),则元素会正常更新。
有没有办法强制元素重新渲染?或者我应该找到一个替代 slideDown/Up 的东西?
【问题讨论】:
标签: javascript jquery dynamic input getelementbyid