在JQUERY中加载页面之前设置DOM项的值

时间:2012-07-22 16:29:48

标签: jquery pageload setvalue

我有一个表单,我在页面加载时将值设置为框(文本框,选择框,radiobox),如下所示。

<script>
$(function() {
   $("#text").val(\''.$_GET['q'].'\');
   $("#category").val(\''.$_GET['cat'].'\');
});
</script>

但主要问题是第一页加载空框,一秒钟后或有时超过一秒加载值到框。在所有框设置值后,如何显示页面?这必须是jquery。

P.S。请不要给我php解决方案。如果只有jquery解决方案。

感谢。

1 个答案:

答案 0 :(得分:1)

为什么必须在jQuery中,为什么不能在普通的javascript中设置值,或者甚至更好地直接在HTML中设置值,因为我假设$ _GET引用PHP变量,并且您用于设置这些值的方法似乎完全没有成功?

<input type="text" value="$_GET['q']" id="text" />

或在元素

之后放置的普通js中
<script type="text/javascript">
    document.getElementById('test').value = $_GET['q'];
</script>

跳过一些奇怪的逃避和集中,并不关心所有不同的引用,你必须自己解决这些问题,只是为了表明我是如何做到的?

jQuery等到DOM及其中的所有内容都被加载,因此您已经拥有了jQuery解决方案。这意味着jQuery代码将始终执行,而不仅仅是直接设置值,甚至在元素可用时立即使用普通的javascript等。

如果你真的不关心用户体验或加载时间,你可以随时在你的CSS中将body标记设置为display:none并在你之后立即使用$('body').show();设置jQuery脚本中的值,这是一个jQuery解决方案,但它是一个糟糕的!