【发布时间】:2011-06-11 09:46:31
【问题描述】:
会发生什么: 每次单击列表中的项目(单选)时,该对象中的信息都会显示在单独的 div 中。
问题: 我无法让信息显示在单独的 div 上。
应该显示包含列表和预览区域的表格:
<table id="preview" style="width: 100%;" class="border">
<tr>
<td style="width: 25%;">
<!-- List here -->
</td>
<td style="width: 75%;">
<div id="template_preview" style="overflow:auto">
</div>
</td>
</tr>
</table>
加载时会调用:
<script type="text/javascript" language="javascript">
$(document).ready(function(){
changePreview();
});
</script>
changePreview()功能:
function changePreview()
{
var selectedValueFromListId = $('#listId').val();
$('#template_preview').html('<c:forEach var="some_var" items="${model.someList}">');
$('#template_preview').append('<input type="hidden" id="someTemplateId" value="${some_var.someListId}" />');
var someTemplateId = $('#someTemplateId').val();
if (selectedValueFromListId == someTemplateId)
{
$('#template_preview').append('test');
$('#template_preview').append('<c:if test="${some_var.objectOne.objectTwo.objectTwoId == valueOfSomething}">');
$('#template_preview').append('some text here - <c:out value="${some_var.label}" />');
$('#template_preview').append('</c:if>');
}
$('#template_preview').append('</c:forEach>');
}
我之前没有测试过 jQuery 的 .html() 或 .append() 函数,所以我不确定我是否正确使用它们,或者我想要做的事情是否可行。
我希望我已经足够详细地解释了我的问题。我已经尝试在搜索网站中对其进行研究,但到目前为止我还没有找到解决方案。
提前致谢。
【问题讨论】:
-
您确定以正确的方式获得所选值吗? stackoverflow.com/questions/1643227/… 看到这个。
-
是的,我确定。为了仔细检查,我使用了您提供给我的链接中的代码,并将其与我已经获得的值进行了比较。都是一样的。
-
我有点困惑——jQuery 是客户端代码; JSTL 是服务器端代码,它在到达客户端之前被转换为 Java、编译和呈现为 HTML。为什么要使用 jQuery 生成 JSTL 代码?
-
@nrabinowitz - 很抱歉让您感到困惑。我想我没有提到它,但我对使用 jQuery 和 JSTL 编码还很陌生,所以我不知道我问的是不可能的。
标签: javascript jquery html jsp jstl