相关文章推荐
温文尔雅的茴香
·
机器学习lasso回归——从源头控制遗漏变量 ...
·
2 年前
·
Code
›
jquery 判断select multiple是否有
jquery
select
option
https://zhidao.baidu.com/question/202672524140979765.html
有腹肌的熊猫
2 年前
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
使用原生的JavaScript 脚本只能够取得第一个选中的第一个的值
var z = document.getElementById("mymultiple");
alert(z.value)
可以通过轮训所有selected 的option 取得所有选中的数值
jQuery 或者第三方类库 会返回1,2,3,4 这样的值
jquery的实现如下:
通过判断select的 type 属性,如果是type: "select-multiple"(相对应的是select-one)
不是“select-one”,则轮训所有option,取得是selected 的option的数值,放到一个数组中
var value, option,
options = elem.options,
index = elem.selectedIndex,
one = elem.type === "select-one" || index < 0,
values = one ? null : [],
max = one ? index + 1 : options.length,
i = index < 0 ?
max :
one ? index : 0;
// Loop through all the selected options
for ( ; i < max; i++ ) {
option = options[ i ];
// IE6-9 doesn't update selected after form reset (#2551)
if ( ( option.selected || i === index ) &&
// Don't return options that are disabled or in a disabled optgroup
( support.optDisabled ? !option.disabled : option.getAttribute( "disabled" ) === null ) &&
( !option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" ) ) ) {
// Get the specific value for the option
value = jQuery( option ).val();
// We don't need an array for one selects
if ( one ) {
return value;
}
// Multi-Selects return an array
values.push( value );
}
}
return values;
推荐文章
温文尔雅的茴香
·
机器学习lasso回归——从源头控制遗漏变量问题 - 知乎
2 年前