0

我有一个页面,它接受参数并将它们填充到相应的输入字段中。使用这些参数,调用一个 jquery 函数来加载一些内容。现在,在 jquery 文档中,我看到“它里面的所有东西都会在加载 DOM 并且在加载页面内容之前加载。”

看来文档里面已经准备好了,我传递的 get 值是已知的。但是如果页面内容是之后加载的,是不是调用我的'loadContent'函数时文本字段中的值不会被填写?还是通过加载 DOM 已经知道?所以我下面的脚本可以正常工作,但为什么并且会一直如此?

<html>
<head><title></title></head>
<body>
<?php
if(isset($_GET['test'])){
    echo '<input type="text" id="test" name="test" value="' . $_GET['test'] . '">';
}else{
    echo '<input type="text" id="test" name="test">';
}
?>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
   alert($("#test").val());
   loadContent($("#test").val());
});
</script>
</body>
</html>
4

1 回答 1

0

在您已经输出了相关的 HTML 部分之后,您正在调用您的脚本。我认为您甚至不需要 .ready() 函数,只需在那之后运行脚本即可。但更好的方法是

<script>
$(window).load( function(){
    ...
});
</script>

在头标签内。

于 2013-03-16T06:00:53.723 回答