javascript - 无法使用 jquery 检索数据属性
问题描述
我有一个选择选项下拉菜单,例如:
<select name="futsalSelect" id="futsalSelect" class="form-control">
<option data-timezone="MST" value="1" selected="">Sample futsal One</option>
<option data-timezone="EST" value="3">Sample futsal Three</option>
</select>
现在,我想data-timezone
在更改该选择选项时检索该值。
所以,我尝试了:
$("#futsalSelect").change(function() {
futsal_id = $(this).val();
timezone = $(this).attr("data-timezone");
console.log(timezone); //undefined
$("#futsalTimezone").text(timezone);
});
但是,它返回未定义。
解决方案
您想读取选项的数据属性,而不是选择。这将做到:
$('#futsalSelect').change(function() {
futsal_id = $(this).val();
timezone = $(this).find('option:selected').data('timezone');
console.log(timezone); //undefined
$('#futsalTimezone').text(timezone);
});
推荐阅读
- python-2.7 - Python 错误 - 计算特征几何
- django - Django 文件浏览器可以上传文件但无法打开文件并出现 404 错误
- xamarin - 为什么 ViewRender 的 OnTouchEvent() 覆盖方法没有触发?
- r - R使用需要两个变量的未命名函数的映射
- python - PyGreSQL 为单列选择语句返回意外结果
- javascript - Vue 的 'v-on' 指令和 vue.$on 有什么区别?
- testing - 在 TestCafe 中无法解析第二个 URL 时断言 URL 重定向
- go - 如何在眼镜蛇应用程序的帮助屏幕中隐藏别名
- json - 将键值格式的文本文件转换为 JSON 对象
- javascript - AngularJS 应用程序使用带有 MVC 的 Angular 路由随机冻结页面