我正在构建一个基于 JSON 数据的 HTML 字符串。在 HTML 中是 a<select>
和它<option>
的 s。如果<option>
's 的值与某些 JSON 数据相同,则它也包含selected="selected"
选项标签的属性。在那之后,整个shebang被.append()
编辑到一个显示器上。
除了未选择所选选项之外,所有这些似乎都可以正常工作。检查 Chrome 的 Web 开发工具中的代码显示该selected="selected"
属性存在。做一个console.log()
选项:selected
可以选择它们。但是,当我深入到一个特定的<option>
并查看它时,它显示的selected
属性设置为false
.
世界卫生大会...?
我已经尝试在事后使用.select()
和jQuery 方法来强制解决问题,但两者都没有产生任何影响。.attr("selected","selected")
其他人能弄清楚这里发生了什么吗?这可能只是我的无知,但这在我看来应该是可行的。
代码供参考。 dataArray
是一个对象数组。 $display
是 jQuery 包装<table>
的 HTML 是.append()
ing 到:
$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 );
}