JSON 데이터를 기반으로 HTML 문자열을 작성하고 있습니다. HTML의 <select>
은 <option>
입니다. <option>
의 값이 일부 JSON 데이터와 같으면 옵션 태그에도 selected="selected"
속성이 포함됩니다. 그 후, 전체 가디언은 디스플레이에 .append()
입니다.append() 후 선택된 옵션이 표시되지 않음
모든 옵션이 선택되지 않았다는 점을 제외하면 훌륭하게 작동하는 것처럼 보입니다. Chrome의 웹 개발 도구에서 코드를 확인하면 selected="selected"
속성이 있음을 알 수 있습니다. :selected
옵션 중 console.log()
옵션을 선택하면 해당 옵션이 선택됩니다. 그러나 특정 <option>
까지 드릴 다운하고 살펴보면 selected
특성이 false
으로 설정된 것으로 표시됩니다.
뭐 ...?
나는 .select()
및 .attr("selected","selected")
jQuery 메서드를 사용하여 문제를 강제로 시도했지만 아무런 차이가 없었습니다.
다른 사람이 무슨 일이 일어나는지 알아낼 수 있습니까? 그것은 단지 나의 무서운 무지일지도 모른다. 그러나 이것은 그것이 일해야하는 것처럼 나에게 보인다.
코드를 참조하십시오. dataArray
은 개체의 배열입니다. $display
는 jQuery를가 HTML이 .append()
보내고하는 것입니다 <table>
포장입니다 :
$orderNumberField = jQuery("#orderNumber");
_orderNumberArray = $.parseJSON($orderNumberField.val());
for(n in dataArray) {
var _displayString = "";
// ... other table data cells ...
_displayString += "<td><select class='orderNumSelect'>";
_displayString += " <option value=''></option>";
for(i in _orderNumberArray){
_displayString += "<option value='" + _orderNumberArray[i] + "'";
if(dataArray[n].orderNum == _orderNumberArray[i]) _displayString += " selected='selected'";
_displayString += ">" + _orderNumberArray[i] + "</option>";
}
_displayString += "</select></td>";
// ... still other table data cells ...
$display.append(_displayString);
}
당신이 말할 때 : "특정
DOM 브라우저에서. –