如何在Jquery选择器中使用JSTL变量
我使用以下Jquery选择器如何在Jquery选择器中使用JSTL变量,jquery,jquery-selectors,jstl,Jquery,Jquery Selectors,Jstl,我使用以下Jquery选择器 $("#selectedQuery td input:radio").attr('checked', true); 其中selectedQuery是一个声明为 <c:set var="selectedQuery" value="${dataRequestForm.queryMasterId}" /> 我用硬编码的值测试了选择器,它工作正常,但与selectedQuery一起使用时运气不佳。 我们如何在Jquery中使用JSTL变量?在JSP中有什
$("#selectedQuery td input:radio").attr('checked', true);
其中selectedQuery是一个声明为
<c:set var="selectedQuery" value="${dataRequestForm.queryMasterId}" />
我用硬编码的值测试了选择器,它工作正常,但与selectedQuery一起使用时运气不佳。
我们如何在Jquery中使用JSTL变量?在JSP中有什么解决方法吗?:
<c:set var="selectedQuery" value="${dataRequestForm.queryMasterId}" />
<script>
$("#${selectedQuery} td input:radio").attr('checked', true);
</script>
在JSP中:
<c:set var="selectedQuery" value="${dataRequestForm.queryMasterId}" />
<script>
$("#${selectedQuery} td input:radio").attr('checked', true);
</script>
我一直在做这样的事情。JSP解析器不知道或不关心标记内容(无论是否使用jQuery)与JSP页面中任何其他内容之间的差异 如果您执行以下操作,它应该可以正常工作:
<c:set var="selectedQuery" value="${dataRequestForm.queryMasterId}" />
...
<script>
$("#${selectedQuery} td input:radio").attr('checked', true);
</script>
注意,这要求带有jQuery选择器的元素与您的。如果它们不在同一范围内,那么这当然不起作用。我一直在做类似的事情。JSP解析器不知道或不关心标记内容(无论是否使用jQuery)与JSP页面中任何其他内容之间的差异 如果您执行以下操作,它应该可以正常工作:
<c:set var="selectedQuery" value="${dataRequestForm.queryMasterId}" />
...
<script>
$("#${selectedQuery} td input:radio").attr('checked', true);
</script>
注意,这要求带有jQuery选择器的元素与您的。如果它们不在同一范围内,那么这当然不起作用。将JSTL代码与JavaScript混合使用会导致代码变得非常混乱。如果不可避免,我将所有JSTL变量设置为JavaScript变量:
<c:set var="selectedQuery" value="${dataRequestForm.queryMasterId}" />
<script type="text/javascript">
//NOTE: we are sure 'selectedQuery' does not contain any double-quotes,
// but most values will need to be escaped before doing this.
var selectedQuery = "${selectedQuery}";
// etc.
</script>
...
<script type="text/javascript">
$("#" + selectedQuery + " td input:radio").attr('checked', true);
</script>
将JSTL代码和JavaScript混合在一起会导致代码变得非常混乱。如果不可避免,我将所有JSTL变量设置为JavaScript变量:
<c:set var="selectedQuery" value="${dataRequestForm.queryMasterId}" />
<script type="text/javascript">
//NOTE: we are sure 'selectedQuery' does not contain any double-quotes,
// but most values will need to be escaped before doing this.
var selectedQuery = "${selectedQuery}";
// etc.
</script>
...
<script type="text/javascript">
$("#" + selectedQuery + " td input:radio").attr('checked', true);
</script>
谢谢你的建议。我一定会尽量避免的:谢谢你的建议。我一定会尽量避免的:很抱歉迟到了。我已经离线两天了。下面是生成的脚本$270 td input:radio.attr'checked',true;。270是selectedQuery。jquery datatable出现问题。你的解决方案非常有效:谢谢。很抱歉迟到了。过去两天我一直在离线。下面是生成的脚本$270 td input:radio.attr'checked',true;。270是selectedQuery。jquery datatable出现问题。你的解决方案非常有效:谢谢。