<span style="font-family: Arial, Helvetica, sans-serif;">String.prototype.trim=function() {
return this.replace(/(^\s*)|(\s*$)/g,'');
};</span>
上面是以正则表达式的方式去除空格的JS代码块。
var answer= "";
$("#mainTable tr").each(function (index, domEle){
if(index != 0){
$(domEle).find("input").each(function(index,data){
if($(data).attr("name") == 'answer'){
$(data).change(function (){
answer = "";
answer = $.trim($(data).val().trim());//去除前后空格的调用
if(/^[a-zA-Z]*$/.test(answer)){ //正则判断是否为字母的字符串
answer = answer.toUpperCase();//转化为大写
}
if(answer == $(domEle).find("input").eq(index+2).val()){
$(domEle).find("input").eq(index+1).val($(domEle).find("input").eq(index+3).val());
}else{
$(domEle).find("input").eq(index+1).val(0);
}
$(domEle).find("input").eq(index+1).attr('readonly','readonly');
//$(data).next("input").attr(<span style="font-family: Arial, Helvetica, sans-serif;">'readonly','readonly'</span> //next的方法只针对同级的下一个兄弟节点,这个是表格布局下一个节点是td不是input所以这里如果用next会获取不到下一个输入框对象
});
}
});
}
});
<c:foreach>
<tr>
<td>${userList[i.index].name }<input type="hidden" value="${userList[i.index].userId }"/></td>
<c:forEach items="${subjectScoreList}" var="subjectScore" varStatus="j">
<c:if test="${}">
<td><input type="text"
maxlength = "4"
value="${studentAnswerMap[userList[i.index].userId][j.index] }"
style="width: 30px;" name="answer" /></td>
</c:if>
<c:if test="${}">
<td>${subjectScore}<input type="hidden" name="answer" value="" /></td>
</c:if>
<td><input type="text" style="width: 30px;"
numberbox="true"
value="${studentScoreMap[userList[i.index].userId][j.index]}"
data-options="required:true,validType:'length[1,4]'"
οnblur="validateScore(${subjectScore},this)"
class="easyui-validatebox"/>
<input type="hidden" value="${subjectAnswerList[j.index] }">
<input type="hidden" value="${subjectScore}">
</td>
</c:forEach>
</tr>
</c:foreach>
JS遍历表格和一些JS对前台字符串的常用处理方式。