在jQuery的下拉菜单中使用append时,我试图添加多个attr()值。
这很好:
$('#twostages').append($('<option/>').attr("value", option.stage).text(option.stage));
我可以使用以下方法访问值:
document.getElementById("twostages").value
但是,当我尝试此代码时:
$('#twostages').append($('<option/>').attr({ "value": option.stage, "matone": option.matone }).text(option.stage));
我无法使用value
或matone
来检索document.getElementById("twostages").value
或document.getElementById("twostages").matone
我从以下主题了解了上面的代码:jQuery: Adding two attributes via the .attr(); method
任何帮助将不胜感激。
谢谢。
答案 0 :(得分:1)
matone
是在选项上添加的属性。因此,您不能直接访问它。
您需要先检查所选的选项,然后使用matone
来获取对应的.attr()
值
工作摘要:-
$('#twostages').append($('<option/>').attr({ "value":"stage1", "matone": "mymetion" }).text("stage1"));
console.log($('#twostages').val());
console.log($('#twostages').find(':selected').attr('matone'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="twostages">
</select>
参考:-
注意:- 。惯例是将data-attributes用于自定义属性