从multiselect中的选定选项获取属性值
getting attribute values from selected options in multiselect
我在jQuery中有一个多选元素。
下面是一个例子。
<select multiple id="multiple">
<option value="1" type="Alice">Option 1</option>
<option value="2" type="Bob">Option 2</option>
</select>
我知道我可以通过做$("#multiple").val();
获得所有选择的值
如何获取所选选项的类型属性?
您需要使用伪option:selected
并查看所选的每个选项:
$('#multiple').change(function(){
var $value =$('option:selected',this).attr('type');
console.log($value);
});
或者使用类似.each()
的
$('#multiple option:selected').each(function(){
var $value =$(this).attr('type');
console.log($value);
});
演示
带.each((的演示
试试这个:
$(document).on("change", "#multiple", function(){
var ids = $(this).find('option:selected').map(function() {
return $(this).attr('type');
}).get();
console.log(ids);
});
JSFiddle:
http://jsfiddle.net/LFMG7/2/
可能最简单的方法是使用.map()
:
var types = $('#multiple > option:selected').map(function() {
return this.getAttribute('type');
}).get();
演示
var t = document.getElementById('multiple'), a = [], i;
for(i = 0; i < t.length; i++) {
if(t[i].selected) a.push(t[i].getAttribute('type'));
}
// tested on IE8+, Chrome (Windows & Linux), Safari, Firefox (Windows & Linux), Opera
Fiddle
也许是这样的:
var myList = array();
$('#multiple option:selected').each(function(){
myList.push({"val":$(this).val(), "type":$(this).attr("type")});
});
相关文章:
- 使用Javascript获取所选选项ID
- 活动选项卡's源代码-获取变量s值
- 如何从选择框中的选项中获取属性值
- 正在获取所选选项数据
- Jquery:如何获取所选选项全文(带空格)
- 使用JavaScript在IE9中获取数据列表选项
- 如何在不需要单击按钮的情况下获取选项的值
- 如何在jquery.easytabs.js中获取当前选项卡
- AngularJS ng选项获取索引
- 在选择中从上一个选项获取数据,从当前选项获取数据
- 使用此值选择选项获取脚本
- 如何使用JavaScript将选中的选项获取为选择下拉标签
- 使用选择选项获取行平均值
- 从multiselect中的选定选项获取属性值
- 使用JQUERY通过文本选择选项获取值
- 从AngularJS中的选定选项获取值
- 我正在尝试使用表单选择选项获取当前日期,并在提交时显示接下来的七天
- 自动填充空值在ng模型中,从ng选项获取数据
- 验证下拉列表以根据所选选项获取正确的日期
- 如何从所选选项获取文本