如何用jquery获取多个 下拉列表所选中的值

如何用jquery获取多个 下拉列表所选中的值,第1张

<!doctype html>

<html>

<head>

<meta charset="utf-8">

<title>select</title>

<!--直接用each循环,出来所有的select,就可以,再直接得到值就可以了,深圳网站建设:=">

基本思路:遍历select下的option,使用val()获取每个option的值,然后加入到一个数组中。根据这个思路,可以使用for循环或者jQuery的each()遍历函数实现。这里提供一个更简洁的代码

$("option")map(function(){return $(this)val();})get()join(", ")

代码说明:

使用map()函数把每个option的值传递到当前匹配集合,生成包含返回值的对象;

使用 get() 处理返回的对象以得到基础的数组;

使用join()函数组装字符串。

实例演示如下:

1、HTML结构

<select id="test">

<option value="option-1">option-1</option>

<option value="option-2">option-2</option>

<option value="option-3">option-3</option>

</select><br>

<input type="button" value="获取所有option值">

2、jquery代码

$(function(){

$(":button")click(function() {

var str = $("#test option")map(function(){return $(this)val();})get()join(", ")

alert(str);

});

});

3、效果演示

1、查找子元素方式1:>\x0d\例如:var aNods = $("ul > a");查找ul下的所有a标签\x0d\2、查找子元素方式2:children()\x0d\3、查找子元素方式3:find()\x0d\\x0d\通过下标获取第n个子标签的ID值\x0d\\x0d\1var num1=$("ul > a:eq(0)")attr("ID");\x0d\2var num2=$("ul")children("a:eq(0)")attr("ID");\x0d\3var num3=$("ul")find("a:eq(0)")attr("ID");

不需要重新刷新页面。新选中下拉列表(select)的选项(option)会触发change事件,即选择项改变事件,因此可以在change事件的响应函数中获取新选中option的value值,而不必要刷新页面。实例演示如下:

1、HTML结构

<select id="test" onchange="fun()">

<option value="option-A">option-A</option>  

<option value="option-B">option-B</option>

<option value="option-C">option-C</option> 

<option value="option-D">option-D</option>

</select>

2、javascript代码

function fun(){

var select = documentgetElementById("test");

alert(selectvalue);

}

3、效果演示

在数据处理的时候,往往会使用select供用户对数据进行选择,我们可以使用change()方法来判断用户是否改变了select的值,change()后,直接d出select的value就是用户选择的结果,但是怎么获取其选择前的结果呢?

如果使用click()方法貌似可行,点击select框,change()方法还没出发时就d出select的val(),但是 *** 作后会发现,change()方法触发后,会第二次触发click()方法,也就是clickd出来的结果也会变成change后的值,所以click这么使用行不通,可以用其他变量接收第一次click获取的value,有兴趣的可自己考虑一下。

实际上还有更简单的方法,直接用focus()方法替换click()方法:

1:js取值

//获取下拉列表选中项的值

代码如下

function getSelectedValue(name){

var obj=documentgetElementById(name);

return objvalue; //直接用其对象的value属性便可获取到

}

2:获取文本值

代码如下

<select Id="select">

<option>1</option>

<option selected="selected">2</option>

<option>3</option>

</select>

<script language="javascript" type="text/javascript">

var ById = documentgetElementById("Select")

alert(ByIdoptions[ByIdselectedIndex]text)

</script>

var $selects = $("select");

var arr = [];//存放值为-1的select数组

for(var i=0;i<$selectslength;i++){

var $select = $selectseq(i);

if($selectval() == -1){

arrpush(i);

}

}

以上就是关于如何用jquery获取多个 下拉列表所选中的值全部的内容,包括:如何用jquery获取多个 下拉列表所选中的值、jQuery对select *** 作小结(遍历option, *** 作option)、jQuery怎么获取Select的option个数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10159015.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存