前端的东西不是主要学习的对象,但是难免在各种地方用到,这里记录一些平常卡住自己的东西:
(1):两个select下拉框级联的实现
function changeSelect(){
var aSelect = document.getElementById("aSelect");
var aNo = aSelect.options[aSelect.selectedIndex].value;
var bSelect = document.getElementById("bSelect");
......
//通过ajax请求得到bSelect的值,传入参数为aNo,即第一个select选中后的值
//var result;
//假设返回的值是result,是一个数组。
......
var len = result.length;
bSelect.innerHTML = "";
//一开始以为下面这句话就可以解决了,但是实际上不行,
//它只能显示opt</option>,前面的<option value=\'0\'>看不见了,具体原因不详。
//bSelect.innerHTML = "<option value=\'0\'>opt</option>";
var oOption = document.createElement("OPTION");
oOption.text="--请选择--";
oOption.value=-1;
bSelect.add(oOption);
for(var i=0;i<len;i=i+2){
var op = document.createElement("OPTION");
op.text=result[i];
op.value=i;
areaSelect.add(op);
}
}
(2): js中的window.open方法,打开一个新的窗口
window.open(url,name,parameters) ,也可以直接window.open(url);
其中:
url 为子窗口路径 ,可以带参数,如abc.jsp?id=12&name=23;这样就可以传2个参数过去
name 为子窗口句柄
parameters 为窗口参数(各参数用逗号分隔)
在目标页面接收参数的代码如下:
var query = location.search.substring(1); var values= query.split("&"); for(var i = 0; i < values.length; i++) { var pos = values[i].indexOf('='); if (pos == -1) continue; var paramname = values[i].substring(0, pos); var value = values[i].substring(pos+1); }
(3):js打印页面:
可以直接调用js内置的函数:
window.print()这个函数默认打印当前页面的所有内容。
但是有时候要自定义打印,可以用ie自带的一个WebBrowser对象来实现打印的自定义控制:
<object ID='WebBrowser' WIDTH=0 HEIGHT=0 CLASSID='CLSID:8856F961-340A-11D0-A96B-00C04FD705A2'></object>这个控件的名字叫WebBrowser,等下会用到,再声明一个样式属性:
<style type="text/css" media=print> .noprint{display : none } </style>表明有这个属性的标签就不需要打印,如以下标签就不要打印:
<div class="noprint"> //div里面的内容 <div>最后有一个打印按钮,按钮的事件调用打印相关的函数就ok了,以下列出一些常用的打印相关函数,其中WebBrowser就是上面的object隐藏控件:
//打印 WebBrowser1.ExecWB(6,1); //打印设置 WebBrowser1.ExecWB(8,1); //打印预览 WebBrowser1.ExecWB(7,1);