【JavaScript】下拉列表select中在value传递多个值,取出其option显示值,并应用此作为导航

对于下拉列表select,众所周知,其值就是选中的option中的value值,可是如果需要取出每一个option的显示值,那又如何做呢?虽然没什么必要取出option的显示值,但是如果有时候确实需要这个显示值,在javascript的脚本做点什么呢?另外,如果要再value处传递多个值呢?那又改如何呢?

一、取出option的显示值

你可以先传递整个select过去脚本,假设传过去的形式参数是obj,然后利用obj.options[obj.selectedIndex].innerHTML来取出option的显示值

obj.selectedIndex表示现在select中被选中的option的位置

你可以换成0,1,2,3……表示第0,1,2,3……项

二、下拉列表select中在value传递多个值

此时则需要在脚本中利用到split函数,在value中设置好分隔符,

split返回的是一个数组,

再遍历此数组,取出传递过去的value值。

举个例子,说明上面两个项,比如如下代码:

HTML布局:

<select onchange="selectTest(this)">
    <option value="你好,1,2">你好</option>
    <option value="aaa,2,3">aaa</option>
    <option value="中文没有问,4,5" >中文没有问题</option>
    <option value="cc,c,c">aaa</option>
</select>

JavaScript脚本:

function selectTest(obj){
	alert("Option中的中文:"+obj.options[obj.selectedIndex].innerHTML);
	paramArray=obj.value.split(",");
	a=paramArray[0];
	b=paramArray[1];
	c=paramArray[2];
	alert(a+""+b+c);
	}

运行结果如下:

可以看到,每当下拉列表的值改变,也就是用户选择其中一项,那么就会触发脚本,脚本首先弹出option的显示值,再弹出value中各个数值,

三、下拉列表select导航栏

如上图所示。其实利用下列菜单select的onchange函数还可以做一些导航栏,在value中放一个地址,在脚本放是一个window.location.href函数,设置onchange触发,则可以完成,比如如下代码:

HTML布局:

<select onchange="selectHref(this)">
    <option value="http://www.1.com">1</option>
    <option value="http://www.2.com">2</option>
    <option value="http://www.3.com">3</option>
    <option value="http://www.4.com">4</option>
</select>
    <select onchange="selectHref(this)">
    <option value="http://www.5.com">5</option>
    <option value="http://www.6.com">6</option>
    <option value="http://www.7.com" >7</option>
    <option value="http://www.8.com">8</option>
</select>

JavaScript脚本:

function selectHref(obj){
	window.location.href=obj.value+"";
	}

旧式的很多IE6网页就是利用这个完成导航栏的,这样实现,比《【CSS】黑色幽默,兼容IE6的纯原生态的门户网站》(点击打开链接)提到的导航栏简单多,当然更是要比BootStrap好写,兼用性强。可能会有人觉得太丑,但是下拉列表那个下三角形样式是系统浏览器固定的,无法用CSS修改,我在《【CSS】扁平化都是纸老虎,看怎么抛弃前端框架在IE6扁平化》(点击打开链接)中已经提到过了。代码简单与网页华丽两者不可以兼容,如何写出既性感又丰满的代码,是我们程序猿一直的追求……

时间: 2025-01-12 23:59:37

【JavaScript】下拉列表select中在value传递多个值,取出其option显示值,并应用此作为导航的相关文章

Javascript获取select下拉框选中的的值

现在有一id=test的下拉框,怎么拿到选中的那个值呢? 分别使用javascript原生的方法和jquery方法 <select id="test"  name="">     <option   value="1">text1</option>     <option   value="2">text2</option>    </select> co

Javascript获取select下拉框选中的的值以及索引

现在有一id=test的下拉框,怎么拿到选中的那个值呢? 分别使用javascript原生的方法和jquery方法 <select id="test"  name=""> <option   value="1">text1</option> <option   value="2">text2</option> </select> code: 一:javas

JS 实现 select中指定option选中触发事件(下拉框)

转自:http://www.cnblogs.com/moli-/p/6406170.html 在用到下拉列表框select时,需要对选中的<option>选项触发事件,其实<option>本身没有触发事件方法,我们只有在select里的onchange方法里触发. 想添加一个option的触发事件,在option中添加onclick 点来点去就是不会触发事件 又在select中添加onclick 这下可好了,没选option呢就触发了 当我们触发select的双击事件时,用ondb

vue子组件修改父组件传递过来的值

这里不再赘述父子组件及子父组件传值,不懂的同学可以翻看我以前写过的关于两者传值的文章 父子组件传值:https://www.cnblogs.com/Sky-Ice/p/9267192.html 子父组件传值:https://www.cnblogs.com/Sky-Ice/p/9289922.html 直接进入正题,把一个布尔值传递给子组件,然后,在子组件中修改该值,会报错 Avoid mutating a prop directly since the value will be overwri

JavaScript获取select下拉框中的第一个值

JavaScript获取select下拉框中的第一个值 1.说明 获取select下拉框中的第一个值 2.实现源代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtm

JavaScript解决select下拉框中的内容太长显示不全的问题

JavaScript解决select下拉框中的内容太长显示不全的问题 1.说明 有些情况下,select下拉框的内容过长,导致部分看不见: 现在通过鼠标事件,让下拉框中的内容显示完全 2.实现源码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html

JavaScript向select下拉框中添加和删除元素

JavaScript向select下拉框中添加和删除元素 1.说明 a   利用append()方法向下拉框中添加元素 b   利用remove()方法移除下拉框中最后一个元素 2.设计源码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xm

JS-005-JavaScript 操作常见 web 元素之五-常见下拉列表 Select 和 datalist

下拉列表在我们日常的网页浏览的过程中,随处可见,是 web 编程过程中大家非常熟悉的一个页面元素,随着 HTML 语言的日益强大,其在广大攻城狮的手中可谓是千变万化,有了很多不同的实现方式.本文主要以常规的 Select 下拉列表来讲述 js 对下拉列表的常规操作,其中 datalist 算是此文稍许的延伸,也可看做一种简单的下拉列表,遗憾的是 IE 9 和更早版本的 IE 浏览器 以及 Safari 不支持 datalist 标签,其主要应用于输入或搜索文字的自动完成功能等,感兴趣的亲们可以详

PHP+JavaScript+HTML变量之间赋值及传递

本文是最近做WAMP网站的学习知识,这做这个网站过程中需要通过新闻通告的超链接显示相应的具体内容,所以就涉及到一些相关变量赋值传递的内容,包括:HTML超链接传递值通过JavaScript显示.JavaScript变量转换成PHP变量.超链接实现传递给PHP连接数据库(重点).PHP输出JavaScript内容. 一. HTML超链接传递值 首先讲述通过HTML超链接<A href=></A>实现跳转,再通过JavaScript实现获取传递的值.代码如下:其中testA.php是超