var i = document.forms["myForm"].state.selectedIndex;
var s = document.forms["myForm"].state.options[1]; 不过上边的代码只是对于 select 对象为单选的情况下有用,当你在 <SELECT> 标记中加入 MULTIPLE 属性后,用户就可以选择多个选项了,在这种情况下,selectedIndex 属性只是指向第一个被选中的项。
为了处理多选的情况,你可以使用 option 对象的 selected 属性通过循环检测每一个 option 对象,就像这个 演示的那样,查看一下源代码就知道它是如何实现的了。
【创建和删除 option 对象】
注意:IE 4.0 对选择列表 selection 和 option 的方法不同于 Netscape,这一部分内容只能运用在 Netscape 3.0 或者更高版本。
你还可以通过代码创建和删除选项 option 对象。创建 option 对象使用 Option 数据结构,例如:
var opt = new Option(text, value, defaultSelected, selected)
参数 text 是显示在页面上的选项的文字,参数 value 对应于 <OPTION> 标记中的 VALUE="...." 属性,即 option 对象的值;参数 defaultSelected 和 selected 是布尔值,用来设置此新建的 option 对象是否为默认选项,以及是否被选中,这两个参数都是可选的,即可以不提供这两个参数的参数值。这个 option 对象可以被加入到一个 options 数组中。而删除一个已经存在的 option 对象,只需将此对象在数组中的那个元素设置为空 ('null' 值) 即可,同时,这样也使数组变小了。
这个 演示了如何创建一个两层的菜单系统,而且此菜单系统的第二层菜单是根据第一层菜单动态生成的。注意,这个例子不能在 IE 浏览器中使用。
此例中一些值得注意的地方:
在这一章中,我们将大致的学习一下一些 JavaScript 中比较高级的话题,在此我们只是通过一些例子大致学习,而不进行深入探讨。
创建你自己的对象
正如您所看到的,JavaScript 提供了很多网页组件和数据的对象及对象类型。但是,您的目光不能仅仅限于这些,您可以根据自己的需要创建自己的对象、属性和方法,这是很有用的,比如说您需要一个比较复杂的数据结构的时候,您就需要这样做。
在创建一个新的对象之前,您首先要创建一个数据结构。这些工作都在一个函数里边处理,在该函数中定义您的对象的属性(可以给这些属性设置初始值),然后你就可以创建居于此对象的方法了。
【构造对象函数】
每一个对象都需要一个构造对象函数,我们通过使用 new 关键字调用此函数来创建一个新的对象实例。这类函数定义了对象的属性,同时给这些属性设置初始值。您还可以在此类函数中声明对象的方法。
下边就是使用构造对象函数的一个例子,在这个函数中定义了一个新的对象 Product,此对象定义了每一个产品的基本属性:
function Product(name, num, price, shipping, quantity) { 注意关键字 this,它指向被创建的对象。您可以像下边那样创建新的 Product 对象实例:
this.name = name;
this.catalogNumber = num;
this.price = price;
this.shippingCost = shipping;
this.quantity = quantity;
}
var item1 = new Product("blender", "9003-2", 24.95, 2.50, 2);
var item2 = new Product("juicer", "9117-1", 49.95, 5.00, 1); 你还可以像访问其它对象的属性那样访问 Product 对象的属性:
var total = (item1.price + item1.shippingCost) * item1.quantity;
【定义方法】
上边的例子中通过访问 Product 对象 item1 的 price、shippingCost 和 quantity 属性计算 item1 的总价值,如果我们需要经常计算总价值,那么像上边那样用起来就很不方便,不过不用担心,我们可以为计算总价值创建一个方法,很简单,只要在构造对象函数中添加一行代码:“this.totalCost = totalCost;”,然后在构造对象函数的后边定义一个名为 totalCost 的函数:
function Product(name, num, price, shipping, quantity) { 注意在构造对象函数中定义该对象方法的格式:this.methodName = functionName,这里的方法名和函数名并不需要使用相同的名字,我们这里是为了看得清楚才使用相同的名字 totalCost 的。现在我们就可以使用此对象的方法了:
this.name = name;
this.catalogNumber = num;
this.price = price;
this.shippingCost = shipping;
this.quantity = quantity;
this.totalCost = totalCost;
}
function totalCost() {
return ((this.price + this.shippingCost) * this.quantity);
}
var total = item1.totalCost();
如果想了解如何构建和使用自定义对象,可以看一下这个 ,这个例子中定义了一个简单的购物车,我们构建的对象名为 ShoppingCart,同时还给这个对象定义了增加和删除产品项的方法。
Cookies
使用 cookie,您可以将一些数据信息保存在客户端用户的机器中,而在以后用户浏览您的网页的时候再调出来使用。通常我们使用 cookie 保存一些数据、登陆帐号等。
创建一个 cookie 需要用到下边的信息:
【JQ】无限滚动条-jquery.infinitescroll.j
query多选下拉框插件 jquery-multiselect(
手机站jQuery自动完成插件autoComplete.js
热门源码