jquery - 将数据属性添加到选项
问题描述
我有这个代码:
$.ajax({
url: "ajax-ongkir.php?destination=" + subdistrictId + "&destination_type=subdistrict&weight=" + weight,
dataType: "JSON",
success: function(json) {
for (var i = 0; i < json.length; i++) {
var courierName = json[i].name;
var courierService = json[i].service;
var courierTarif = json[i].tarif;
$('.courier').append($('<option>', {
value: courierName + ' ' + courierService + ' ' + courierTarif,
text: courierName + ' - ' + courierService + ' - ' + courierTarif
}));
$('.courier').$('<option>').last().attr('data-tarif', courierTarif);
}
}
});
但这条线不起作用:
$('.courier').$('<option>').last().attr('data-tarif', courierTarif);
如何将courierTarif
数据属性添加到<option>
?
解决方案
您使用了错误的选择。
代替:
$('.courier').$('<option>')
和:
$('.courier option')
现在你的last()
选择器工作了。
$('.courier option').last().attr('dat-tarif', "hi");
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select class="courier">
<option value="a">1</option>
<option value="b">2</option>
<option value="c">3</option>
</select>
您可以使用替代方案find
。
$('.courier').find('option').last().attr('dat-tarif', "hi");
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select class="courier">
<option value="a">1</option>
<option value="b">2</option>
<option value="c">3</option>
</select>
推荐阅读
- channel - 在“goland”中调试通道
- visual-studio-code - 如何在 VS Code 中为一种文件类型配置多个查看器?
- python - Swift vDSP rFFT 与 Python np.fft.rfft() 不同
- azure - Azure 自动化无法将参数传递给 VM 内的 powershell 脚本
- wso2 - 创建辅助用户存储时 WSO2 IS 5.9 错误
- java - 集群(多个实例)Quartz 调度程序中断 API 无法有效工作
- python - 如何重塑 BatchDataset 类张量?
- java - 如何调整JVM的默认内存大小比例
- asp.net - asp.net webapi 令牌认证
- excel - excel VBA中的字符串拆分给出类型不匹配错误