所以我有一个data-time
属性,它包含从我的数据库中获取的整数值。我得到它的值,但它返回undefined。我检查了浏览器,我的data-time属性正确存储了值。
这真的很奇怪,因为我在此之前做了同样的事情并且它没有返回undefined。这是我的代码:
<option data-price="{{ $availableOption->price * $course }}" data-time="{{ $availableOption->delivery_time }}">
...
</option
脚本
$('.config-option option:selected').each(function() {
var currentElement = $('this');
var optionDeliveryTimeStr = currentElement.attr('data-time');
console.log(optionDeliveryTimeStr);
});
我之前使用data-price属性执行完全相同的操作,并将值作为字符串返回。但它不适用于data-time属性。如果有人能提供解决方案和解释,我将非常感激。
答案 0 :(得分:4)
你的问题就在这一行
var currentElement = $('this');
从this
删除引号并将其替换为
var currentElement = $(this);
答案 1 :(得分:0)
使用$(currentElement)代替currentElement:
$('.config-option option:selected').each(function() {
var currentElement = $(this);
var optionDeliveryTimeStr = $(currentElement).attr('data-time'); // OR $(currentElement).data('time');
console.log(optionDeliveryTimeStr);
});