js中,表单中的选择框学习与使用总结

选择框脚本

选择框是通过<select>和<option>元素来创建。下面从对选择框的几个操作,来学习,总结Js中操作选择框的方法

一.选择选项

(1)只允许选择一项的选择框,访问选项中的最简单方式,就是使用选择框的selectIndex属性。

selectedIndex 属性可设置或返回下拉列表中被选选项的索引号。设置selectedIndex会导致取消以前的所有选项并选择指定的那一项,而读取selectedIndex则只会返回选中项第一项的索引值。注意:若允许多重选择,则仅会返回第一个被选选项的索引号。

用法:selectObject.selectedIndex=number

(2)取得对某一项的引用,然后将其selected属性设置为true,与selectedIndex不同,在允许多选的选择框中设置选项的selected属性,不会取消对其他选中项的选择,因而可以动态选中任意多个项

例子:

window.onload=function(){
var btnobj=document.getElementById("btn");
    btnobj.addEventListener("change",function(){  
var index=btnobj.selectedIndex;
var imgurl=["img/bg3.jpg","img/bg2.jpg","img/bg4.jpg","img/bg5.jpg"];
var text=btnobj.options[index].text;//获得select选项中的文本值
 //使用selected属性设置为true,来选择选项
    if(btnobj.options[index].selected){ changeskin(imgurl[index]);}
  //使用selectedIndex属性来选择选项,进行相应处理,本例子是用来通过选项选择,来换背景图片
  /* if(index==0){changeskin(imgurl[index]);}  
     if(index==1){ changeskin(imgurl[index]);}
     if(index==2){ changeskin(imgurl[index]);}
     if(index==3){ changeskin(imgurl[index]);}*/

},false);
}

二.添加选项:

(1)使用DOM方式创建:

      var btnobj=document.getElementById("btn");
    btnobj.addEventListener("change",function(){
             var newoption=document.createElement("option");
    newoption.appendChild(document.createTextNode("新增的选项"));
    btnobj.appendChild(newoption);
},fasle)
}

(2)使用option构造函数来创建新选项

 var btnobj=document.getElementById("btn");
    btnobj.addEventListener("change",function(){
               var newoption1= new Option("新增的选项");
       btnobj.appendChild(newoption1);
},false)
}

(3)使用选择框的add()方法

该方法需要两个参数,第一个参数为要添加的新选项,第二参数为新选项之后的选项,若是想在列表的最后添加一个选项,应该将第二个参数设置为null.

 var btnobj=document.getElementById("btn");
     btnobj.addEventListener("change",function(){
               var newoption2= new Option("新增的选项");
       btnobj.add(newoption2,undefined);
},false);
}

三者实现的效果图:

三.移除选项

(1)使用DOM的removeChild()方法,参数为要移除的选项

      //使用removeChild()移除选项
        var btnobj=document.getElementById("btn");
            btnobj.addEventListener("change",function(){
            btnobj.removeChild(btnobj.options[2]);
},fasle)
}

(2)使用选择框的remove()方法,参数为:要移除的索引

  var btnobj=document.getElementById("btn");
      btnobj.addEventListener("change",function(){
              //使用remove方法移除
              btnobj.remove(2);
},false);
}

移除选项,实现效果图:

四.移动和重排选项

(1)移动:appendChild()方法,可以将第一个选项框中的选项直接移动到第二个选择框中,该方法是先从一个选项框中的父元素节点中移除它,再把它添加到指定的位置。

       var btnobj=document.getElementById("btn");
       var btnobj1=document.getElementById("btn1");
      btnobj.addEventListener("change",function(){                   
        btnobj1.appendChild(btnobj.options[1]);

},false);
}

移动选项与移除选项,有一个共同之初,就是会重置每一个选项的index属性

重新排序:使用DOM方法中的insertBefore();appendChild()方法只适用与将选项添加到选择框的最后。

window.onload=function(){
var btnobj=document.getElementById("btn");
var optionnew=btnobj.options[3];
var optiontarget=btnobj.options[2];         
    btnobj.insertBefore(optionnew, optiontarget);}

五.总结:

对于本例子的完整实现效果,请看《select使用小demo》一文。通过这些基本知识学习,再结合之前的cookie技术,后期准备实现定制页面。网站可以提供了换肤或更换布局的功能,使用cookie来记录用户的选项,例如:背景主题。当用户下次访问时,仍然可以保存上一次访问的界面风格。

时间: 2024-10-13 22:45:18

js中,表单中的选择框学习与使用总结的相关文章

JS验证表单中TEXT文本框中是否含有非法字符

<form id="form" action="" method="post"> <input type="hidden" name="selected" value="" /> <table class="conditionTable"> <tr> <td class="first">用

Js实现表单中的checkbox对勾选中效果

<!doctype html> <html lang="en-US"> <head> <meta http-equiv="Content-Type" content="text/html; chaRset=gb2312" /> <title>JS实现单个图片选中美化框</title> <style type="text/css"> body,

Js 向表单中添加多个元素

@{ ViewBag.title = "地图导航"; } @model YT.XWAJ.Public.Application.MapNavigation.Dto.MapNavigationManagementDto <div class="easyui-layout" data-options="fit: true,border: false"> <div data-options="region:'north'&qu

js中原型,原型链的学习与认识

原型的含义:如果构造器有个原型对象A,则由构造函数创建的实例都必然复制于A.原型也是一个对象,原型可以在运行时获得和改变.可以增加属性到原型上或者删除原型上已经存在的属性.原型对象是用来实现继承的. 2.prototype属性,是每个函数自带的属性,(所有类型的构造函数也是函数),prototype是一个包含constructor属性的Object对象,其中constructor属性保存了指向function的一个引用. 3.prototype上的属性可以被所有实例所共享,是因为每个实例都有一个

js注册表单中实现地区选择效果

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>选择地区</title> </head> <script type="text/javascript"> var regionList=[]; regionList["湖南省"]=["

JS如何判断表单中用户选择哪个哪个选项?

HTML代码: <form name="form1" onsubmit="return foo();"> A<input type="radio" name="radioGroup" value="a" /> B<input type="radio" name="radioGroup" value="b" />

JS中的冒泡排序与选择排序

1.冒泡排序 作为最简单的排序算法之一,冒泡排序的思想是,从左到右依次比较两个存储数据的大小,如果第一个数大于第二个数,就交换两个数据,这样一轮比较之后,最大的数会放在后面,这样,每次循环比较,本轮中的最大值都会排到最后,直到循环结束,实现数组升序. 动图演示如下: 代码如下: 首先定义外层循环,如果有n个数据进行循环比较,最后一次循环排序,最后两个值的大小已经确定,所以最后一个数值不需要参与循环,即n-1次,这里就是(arr.length-1) -1次: 定义内层循环,当前位i和i+1进行比较

js原生代码给select选择框实现onchange事件

<select name="limit" onchange="selectStages()"> //绑定onchange事件 <option>请选择期限</option> {loop $limit $item} <option value="{$item}">{$item}</option> {/loop} </select> function selectStages(){

js 交换表单中值

<html> <head> <meta charset="utf-8" /> <script type="text/javascript"> window.onload=function(){ var btn=document.getElementById('btn'); var text=document.getElementById('text'); var sele=document.getElementById