我通过调用函数
来填充下拉列表 function createOption(dropdown, text, value, gid) {
var x = document.createElement('option');
x.value = value;
x.text = text;
x.setAttribute("gid",gid);
dropdown.options.add(x);
}
我希望下拉列表中有一个额外的属性' id'因此,在id的特定值处,会弹出一个警告框。现在我调用另一个函数弹出警报框。
function showPopUp(dropdown) {
console.log("from Show Pop-up: " + dropdown.getAttribute("gid")); //PRINTS null
if(dropdown.getAttribute("gid")==5){
alert("Approval needed");
}
}
我无法访问另一个函数中下拉列表的id值。
答案 0 :(得分:0)
您可以在javascript中使用Element.setAttribute()执行此操作。 它设置指定元素的属性值。如果该属性已存在,则更新该值;否则添加具有指定名称和值的新属性。
<select id="mySelect">
</select>
<p>Click the button to create an OPTION element with an id.</p>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
<script>
function myFunction() {
var x = document.createElement("OPTION");
x.value = "value";
x.text = "text";
x.setAttribute("data-id", "id");
document.getElementById("mySelect").appendChild(x);
}
</script>
&#13;
P.S 您也可以根据值区分特定选项。无需使用id。