<div class="layui-form-item">
<label class="layui-form-label" data-form="form-label">指标类型</label>
<div class="layui-input-block must" data-form="input-block">
<select id="quotaType" data-select="type" lay-filter="quotaType">
<option data-idx='0' value="001" selected>字符</option>
<option data-idx='1' value="002">代码</option>
<option data-idx='2' value="003">日期</option>
<option data-idx='0' value="004">数值</option>
</select>
</div>
</div>
如上图代码,需要获取被点击的 option 的 data-idx 值
form.on('select(quotaType)', function (data) {
console.log(data.elem); //得到select原始DOM对象
console.log(data.value); //得到被选中的值
console.log(data.othis); //得到美化后的DOM对象
console.log(data.elem[data.elem.selectedIndex].dataset.idx); //得到select选中项的自定义属性值 data-idx
console.log(data.elem[data.elem.selectedIndex].text); //得到select选中项的值
console.log(data.elem[data.elem.selectedIndex].title); //得到被选中项的title
});
以上方法我亲测可用,在查资料过程中我发现了另一种说法,但我使用时不可行,不确定是否是我个人原因,再次也罗列出来,请指教
var aaa = $(data.elem).find("option:selected").attr("aaa");
个人感觉该行代码可行,但使用时没成功获得自定义属性值,如有大神知其中奥秘,望不吝赐教。