
基本思路:遍历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);
});
});
那么这个select所有option的集合是:var options = documentgetElementByIdx_x_x("select1")options;即可获取既然可以获取到option集合,那每一个option的value就不言而喻了。比如select中第一个选项的value为 var option_value1 = documentgetElementByIdx_x_x("select1")options[0]value;交换两个option的值(和名称)的方式也很简单。比如这个select的有两个option,分别是<option value="1">1</option>和<option value="2">2</option>,现在交换两个option的位置(即交换值(名称))。
获取select选中的
value:
$("#ddlregtype
")val();//这样就OK了
获取select
选中的
text
:$("#ddlregtype")find("option:selected")text();
获取select选中的索引:
$("#ddlregtype
")get(0)selectedindex;这三个对你以后应该有用的
有时候我们需要在一个select中传递两个有关联但不同的值,比如你的这个情况。这时候要利用到option的另一个不常用属性name,用name来存储第二个值,然后在onchange事件中分别用thisoptions[thisselectedindex]name来调用这个值。
全12333
全12321
全123123
在你的程序里,把
之间的内容作为name属性写出来,然后定义一个隐藏的input——optt,再定义好onchange事件,就可以同时获取到value和name两个值了。
在HTML中,select控件的值等于其当前选中的option的值,所以:
$("select")val(); // 可以获取select当前的值
如果想获取当前select下option的所有的值,则:
var selValue = []; // 定义一个空数组用于接收select下option所有的值
var options = $("select")find("option"); // select下所有的option
for (var i=0; i<optionslength; i++) {
selValuepush(optionseq(i)val()); // 将所有的值赋给数组
}
获取到option的值想实现的效果比如选择的是值一这个option提交后要得到"3"和"值一"这两个数据
[php] view plain copy
[html] view plain copy
<select name="select">
<option value="1">select下拉列表框的值</option>
<option value="2">sdfsd</option>
<option value="3">值一</option>
</select>
echo $_POST['select'];
可以在form中添加一个隐藏域<input type="hidden" id="select_content" name="select_content" />然后在提交的时候,先将所选择的值赋值给隐藏域,然后再将form提交。这里说的赋值是用js *** 作的,当<select name="select" onchange="fuzhi(thisoptions[thisselectedIndex]text)"> function fuzhi(a){documentgetElementById("select_content")value=a;//赋值,咚咚}
jquery的hide方法只是在相应DOM上面增加了样式:display: none
而option不是可绘制的DOM,所以使用hide方法是无效的
两种解决方案:
1在option标签上面加上disabled="disabled"属性,表示不可用,这种方案只是让option不能选择,但没有隐藏掉
2如果想隐藏掉,只能把option从DOM树中去除,然后对去除的option进行缓存,在要显示的时候再将option从缓存中取出加入DOM树中
以上就是关于怎样得到select所有option里的值全部的内容,包括:怎样得到select所有option里的值、怎样获取select的第一个option并设置value的值、如何获取select 选中的option的文本值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)