<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對前臺字符串的常用處理方式。