加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

JSP中select的触发事件(转载)

(2010-11-09 00:53:28)
标签:

杂谈

 
  我们在用到下拉列表框select时,需要对选中的<option>选项触发事件,其实<option>本身没有触发事件方法,我们只有在select里的onchange方法里触发。
  当我们触发select的双击事件时,用ondblclick方法。
  当我们要取得select的选中事件时,用document.all['name'].value来获取,其中name是select的名称。
  如果我们要得到select的全部的值就用一个for循环来实现。代码如下:
    var vi = document.all['list'].length;
    for(var i=0;i<vi;i++){
        document.form2.list(i).value; //form2是<form>的名称
    }
  下面介绍一个特殊情况的解决,由于option本身没有事件,所以我们不能给每个option都添加一个onclick事件。如果需要实现点击不同的option,实现不同的函数时,要怎么办,从value里取值在分析是一种办法,但如果value里的值不确定,我们又不想从value里取值怎么办呢?可以这样解决,给每个option添加一个属性,然后在赋一个值,我们在函数里取到这个属性的值就可以判断执行了。
   比如:
  <select id="printSelect" onchange="selectPrint()">
    <option select_Print="1" value=""></option>
    <option select_Print="2" value=""></option>
    <option select_Print="3" value=""></option>
  </select>
  <SCRIPT language="javascript">
function selectPrint(form_id,abmfldid,workid){  
  var objS = document.getElementByIdx_xx("printSelect");
  var selectid = objS.options[objS.selectedIndex].select_Print;         
  if(selectid==1){
    openDataReport();
  }else if(selectid==2){     
    printForm();  
  }
                                                        
</SCRIPT>
上面的代码是一个简单的例子。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有