问题起引:页面中显示Table,它里面显示的是各分公司的统计数据,同时每行还一个链接,通过这个链接可以查看指定分公司数据详情。由于后台没设计好,在实现此链接功能时,碰到了传中文的问题,即把具体分公司名称传到后台。当然网上有不少解决中文传参的方法,但不是那么方便,要配置不少地方。
问题解决思路: 观察下四周,当前页面恰好有一个下拉选择列表,它里面正好有分公司及其对应的ID。于是,就想在点时链接,通过JS把中文字换成数字的ID,这样后台就再通过ID拿到分公司名称。
代码如下:
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<select id="branchName">
<option value="10">北京分公司</option>
<option value="11">天津分公司</option>
<option value="12">河北分公司</option>
<option value="13">山西分公司</option>
</select>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script>
function getSubComId_OK(subName){
alert("getSubComId_OK ID: " + $("option:contains('"+subName+"')").val());
}
function getSubComId_failed_once(subName){
alert("getSubComId_failed_once ID: " + $("#branchName option[text='"+subName + "']").val());
alert("getSubComId_failed_once ID: " + $("#branchName option[text="+subName + "]").val());
}
getSubComId_OK('山西分公司');
getSubComId_failed_once('山西分公司');
</script>
问题:
当然这个解决方案是一个权益之计,较好解决方式是全局的调整。虽然给以后的维护挖了个坑,不过方案,还是行的通的。