Вы почти там, проблема, которая у вас сейчас есть, на $(".test").append(optionGroup).attr("id","theid");
Вы говорите, добавьте optionGroup
к .test
и добавьте элемент id
к .test
, который в вашемна случай, если вы добавите id
к optionGroup
Так что это будет примерно так:
$(document).ready(function() {
milestoneData =[{"phase_ID":21,"phase_name":"hello1"}, {"phase_ID":22,"phase_name":"hello2"}]
var optionGroup = document.createElement("optgroup");
optionGroup.setAttribute("label","Project 1");
optionGroup.setAttribute("value","100");
optionGroup.setAttribute("id","theid");
$(".test").append(optionGroup);
for (var i = 0; i < milestoneData.length; i++) {
var option = document.createElement("option");
option.setAttribute("value",milestoneData[i].phase_ID);
option.innerHTML=milestoneData[i].phase_name;
$('#theid').append(option);
}
});
Я создал для вас быстрый jsfiddle: https://jsfiddle.net/gcpn10kd/1/
Вы можете проверить здесь некоторые примеры того, как optgroup
должна быть структурирована