我有一个页面,我在其中“ajax in”一个表格,每个行上都有一个同名的单选按钮。每行都是通过JSTL foreach动态生成的,但为了简单起见,我在这里删除了它。基本上,以下是通过ajax注入另一页,哦......我正在使用jquery 1.8
<script type="text/javascript">
$(document).ready(function(){
if (!$("input[@name='student']:checked").val()) {
alert('Nothing is checked!');
return false;
}
else {
alert('One of the radio buttons is checked!');
}
});
</script>
<table id="studentTable" border="1" style="width: 100%;">
<tr><th>Select</th></tr>
<tr><td><input type="radio" name="student" value="${s.id}"/></td></tr>
</table>
所以在ajax调用之后,使用firebug,我的脚本就在页面中以及所有其他表格中。事情是通过ajax提供的javascript似乎是不活跃的。我看到有人建议使用“eval”功能。
有人可以就此提供一些指导,谢谢。
修改
这是我用来在我的页面中注入上述内容的脚本。
function search() {
var resultNode = dojo.byId("results");
dojo.xhrPost({
url: "${searchstudentsurl}",
form: dojo.byId("searchform"),
load: function(newContent) {
dojo.style(resultNode,"display","block");
resultNode.innerHTML = newContent;
},
error: function() {
resultNode.innerHTML = "Your student search form could not be sent";
}
});
}
现在dojo有“handleAs”选项,但是如果我指定选项handleAs:“html”,那么帖子就会失败,因为这行。我不知道如何使用dojo eval函数。请帮助,谢谢。
答案 0 :(得分:0)
文档就绪事件仅针对主页面加载而非AJAX调用触发。设计Javascript逻辑,使其位于HTML之外,并加载到带有主页的.js文件中。