0
我试图从传递给方法的选择选项访问数据属性。这可能吗?将选定选项传递给方法和访问数据属性
举个例子,假设我在我的HTML选择列表如下:
<div class="col-md-3">
<select id="mySelect" name="mySelect">
<option value="1" data-data1="AB" data-data2="WX">Route1</option>
<option value="2" data-data1="CD" data-data2="YZ">Route2</option>
</select>
</div>
接线了事件处理程序,并得到了用户的选择,甚至访问数据属性中的事件处理程序的罚款。
<script>
$(function() {
$("select[name='mySelect']").on('change', function() {
var selection = $(this).find('option:selected');
//no problem accessing the attributes here:
var data1 = selected.data('data1');
var data2 = selected.data('data2');
//but what if I want to pass the selection object to a method?
doSomething(selection);
});
});
在以下方法中检索属性值的方法都不起作用。这可能吗?如果是这样,我错过了什么?
function doSomething(selection)
{
var data1 = selection.data('data1');
var data2 = selection.data('data2');
var data3 = $(selection).data('data1');
var data4 = $(selection).data('data2');
}
</script>
以及使用了名称选择,它有一个ID ......你已经选择内部,甚至不是一个变量...修复那些和它的作品.. – epascarello
是啊,对不起,我只是快速打开一个例子,省略了name属性。 – mattpm