在js文件中写el表达式取不到值的原因及解决方法

时间:2023-03-08 20:30:48

1、javascript是客户端执行,EL是在服务端执行,而服务端比客户端先执行,所以取不到值

2、要想获取"${jcDropClass.jcClass.id}"的值,可以在jsp中,用一个全局变量接收,然后再js中使用

3、注意:在使用时,注意要添加双引号,如var jcClassId="${jcDropClass.jcClass.id}";

$(document).ready(function() {
var schoolId=$('#jcSchoolSelect option:selected').val();
if(schoolId!=null && schoolId!= ''){
loadClassSelect(schoolId);
}
});
function loadClassSelect(schoolId){
$.ajax({
url:'${ctx}/jc/jcClass/findBySchoolId?jcSchool.id='+schoolId,
type:"get",
async: false,
success: function (data) {
$("#jcClassSelect").html("");
$("#jcClassSelect").get(0).options.add(new Option(" ",""));
$.each(data, function(index, value){
$("#jcClassSelect").get(0).options.add(new Option(value.name,value.id));
});
$("#jcClassSelect option").each(function(){
var value=$(this).val();
if (value==jcClassId){
$(this).prop("selected", 'selected');
}
});
}
  })
};