- html - 我的下拉菜单的内容关闭得太快
- c# - 使用 Html Agility Pack 从网页中的表中获取值而不使用 "SelectNode'
- html - 内容容器下的 CSS 下拉菜单
- html - 如何停止嵌套列表重叠父列表?
如果您在控制台上查看,会发现一个对象 obj 带有值参数数组,但名称参数始终只有一个值。我想以与存储值参数值相同的方式存储选项的第二个属性“名称”(在数组中,不仅是单个选项名称,而且是所有选定选项的所有名称)。
//jQuery onchange()
var obj = {};
//get the value of option value.
$('select[name=sensors]').on('change', function(){
var value = $('select[name=sensors]').val();
obj['value'] = value;
$('#demo').text(value);
//get the value of option name.
var name = $('option:selected').attr('name');
obj['name'] = name;
$('#demo2').text(name);
console.log(obj); // returns array if value but single value of name parameter.
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select type='list' name='sensors' multiple>
<optgroup label = 'sensors'>
<option value= "e11" name = 'Electricity'>Electricity</option>
<option value= "e12" name = 'Wind'>Wind</option>
<option value= "e13" name = 'Temperature'>Temperature</option>
</optgroup>
</select>
<!--jQuery onclick()-->
<div id="demo"></div>
<!--jQuery select()-->
<div id="demo2"></div>
如果选择多个选项,“obj”对象的值参数将存储所选选项值的数组。但在名称参数中仅存储一个值。
最佳答案
这是来自 jQuery 网站的引用,这就是为什么 attr 只返回集合中的第一个名称的原因。
The .attr() method gets the attribute value for only the first element in the matched set. To get the value for each element individually, use a looping construct such as jQuery's .each() or .map() method.
//jQuery onchange()
var obj = {};
//get the value of option value.
$('select[name=sensors]').on('change', function(){
var value = $('select[name=sensors]').val();
obj['value'] = value;
$('#demo').text(value);
//get the value of option name.
var name = $('option:selected').map(function(i, el){
return el.getAttribute("name");
}).get();
obj['name'] = name;
$('#demo2').text(name);
console.log(obj); // returns array if value but single value of name parameter.
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select type='list' name='sensors' multiple>
<optgroup label = 'sensors'>
<option value= "e11" name = 'Electricity'>Electricity</option>
<option value= "e12" name = 'Wind'>Wind</option>
<option value= "e13" name = 'Temperature'>Temperature</option>
</optgroup>
</select>
<!--jQuery onclick()-->
<div id="demo"></div>
<!--jQuery select()-->
<div id="demo2"></div>
关于javascript - 如何存储所选选项的名称属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32054190/
你能比较一下属性吗 我想禁用文本框“txtName”。有两种方式 使用javascript,txtName.disabled = true 使用 ASP.NET, 哪种方法更好,为什么? 最佳答案 我
AtEndOfLine 属性 TextStream 文件中,如果文件指针指向行末标记,就返回 True;否则如果不是只读则返回 False。 object.AtEn
AtEndOfStream 属性 如果文件指针位于 TextStream 文件末,则返回 True;否则如果不为只读则返回 False。 object.A
Attributes 属性 设置或返回文件或文件夹的属性。可读写或只读(与属性有关)。 object.Attributes [= newattributes] 参数 object
AvailableSpace 属性 返回指定的驱动器或网络共享对于用户的可用空间大小。 object.AvailableSpace object 应为 Drive 
Column 属性 只读属性,返回 TextStream 文件中当前字符位置的列号。 object.Column object 通常是 TextStream 对象的名称。
CompareMode 属性 设置并返回在 Dictionary 对象中比较字符串关键字的比较模式。 object.CompareMode[ = compare] 参数
Count 属性 返回一个集合或 Dictionary 对象包含的项目数。只读。 object.Count object 可以是“应用于”列表中列出的任何集合或对
DateCreated 属性 返回指定的文件或文件夹的创建日期和时间。只读。 object.DateCreated object 应为 File 或 Folder 对象的名称。 说明 以下
DateLastAccessed 属性 返回指定的文件或文件夹的上次访问日期和时间。只读。 object.DateLastAccessed object 应为 File 或 Folder 对象
DateLastModified 属性 返回指定的文件或文件夹的上次修改日期和时间。只读。 object.DateLastModified object 应为 File 或 Folder 对象
Drive 属性 返回指定的文件或文件夹所在的驱动器的驱动器号。只读。 object.Drive object 应为 File 或 Folder 对象的名称。 说明 以下代码举例说明如何使
DriveLetter 属性 返回本地驱动器或网络共享的驱动器号。只读。 object.DriveLetter object 应为 Drive 对象的名称。 说
Drives 属性 返回由本地机器上所有 Drive 对象组成的 Drives 集合。 object.Drives object 应为 FileSyst
DriveType 属性 返回一个描述指定驱动器的类型的值。 object.DriveType object 应为 Drive 对象的名称。 说明 以下代码举
Files 属性 返回由指定文件夹中所有 File 对象(包括隐藏文件和系统文件)组成的 Files 集合。 object.Files object&n
FileSystem 属性 返回指定的驱动器使用的文件系统的类型。 object.FileSystem object 应为 Drive 对象的名称。 说明 可
FreeSpace 属性 返回指定的驱动器或网络共享对于用户的可用空间大小。只读。 object.FreeSpace object 应为 Drive 对象的名称。
IsReady 属性 如果指定的驱动器就绪,返回 True;否则返回 False。 object.IsReady object 应为 Drive&nbs
IsRootFolder 属性 如果指定的文件夹是根文件夹,返回 True;否则返回 False。 object.IsRootFolder object 应为&n
我是一名优秀的程序员,十分优秀!