當你和數據庫交互數據的時候,我們可能在一個字段裏存了很多信息,並且使用符號分隔開來,那麼怎樣才能分別得到每一段的信息呢?
比如說當你分期付款的時候,可能分好幾個期次,那麼我們應該怎麼將他們分隔開,並且在現實的時候顯示出已經選中的:
<input type="checkbox" name="stage1" id="stagei1" value='1期' type="checkbox" name="stage2" id="stagei3" value='3期' type="checkbox" name="stage3" id="stagei6" value='6期' type="checkbox" name="stage4" id="stagei12" value='12期' type="checkbox" name="stage5" id="stagei24" value='24期' onclick="check(this,'checkbox33','24')"/>24期
<input type="hidden" id="inputid" name="bill" value='<c:out value="${form.bill}"/>'/>
當我們選擇了多個期數的時候(這裏的期數使用的是數字1、3、6、12、24表示,並且用逗號分隔開。如:1,3)
那麼一段字符串怎麼樣得到並分割呢?
可以直接把<c:out value=""/>的數據複製給一個變量,用split進行分割,可以加一段字符串驗證一下
<script language=Javascript > function checkstage(){ var bill ='<c:out value="${form.stage}"/>'; var list =bill. split(',' ); for(var i=0 ;i< list.length ;i++){ if(!isStringNull (list[i])) document.getElementById ("stagei"+list[i] ).checked= true; } } </script>
這樣當你選擇多個的時候,也會顯示出你選擇的;別忘了在body裏面加載onload="checkstage();"
上面if裏面的判斷是否爲空的函數是我寫在一個js文件裏的,如下:
/** * 是否爲空 * @param {Object} v * @return {TypeName} */ function isStringNull(v){ if(v == null || v.replace(/\s/g, "") == ''){ return true; }else{ return false; } }
希望對大家有幫助!!!