Angular UI Bootstrap 0.8.0手风琴在IE8中没有显示选定的值
我正在使用Angular UI Bootstrap 0.8.0和AngularJS 1.2.15来显示手风琴中的一些内容。 其中一个手风琴包含一个带有输入/选择元素的表单。 我有一个选择下拉列表,其上带有ng模型的国家列表以显示选定的值。 ng-model由select元素上的自定义指令'initialize-model'初始化,该元素将模型初始化为HTML标签的value属性。 这些选项是使用服务器端模板(ZPT)生成的。 在其他浏览器中,当我选择一个国家时,保存表单并再次打开页面我看到所选国家,但在IE8中,ng-model在页面加载时没有正确设置,没有选择国家。 如果我将手风琴的选择下拉菜单显示在选定的国家/地区。
我遵循angular的IE实践来包含document.createElement('accordion'); document.createElement('accordion-group'); document.createElement('accordion-heading'); 对于IE8,但仍然IE8不显示选定的值。 当我打开IE8的开发工具并检查元素时,我可以看到select中的选项显示为选中,但是ng-model没有设置为选定的值。 我不知道如果ng-model在手风琴之外,是什么让它们分配给选定的值? 我也尝试过在角色源之前加入jquery,但它仍然不能解决问题。
这就是模板的外观:
<html>
<head>
<!--[if lte IE 8]>
<script>
document.createElement('accordion');
document.createElement('accordion-group');
document.createElement('accordion-heading');
</script>
<![endif]-->
</head>
<body>
<accordion>
<accordion-group is-open="showSection">
<accordion-heading>
<i ng-class="{'icon-chevron-down': showSection, 'icon-chevron-right': !showSection}"></i>Country Information
</accordion-heading>
<select ng-model="selected_country" id="selected_country" name="selected_country" initialize-model>
<option value="">---------</option>
<options tal:omit-tag="" tal:repeat="country countries">
<option tal:attributes="value country/code" tal:content="country/country"></option>
</options>
</select>
</accordion-group>
</accordion>
</body>
</html>
我很感谢在这方面的任何帮助!
由于没有人回答这个问题,我将发布我在IE8中解决问题的方法。
我在UI-Bootstrap手风琴的范围之外创建了另一个HTML元素,如:
<select ng-model="selected_country2" id="selected_country2" name="selected_country2" initialize-model>
initialize-model指令初始化来自服务器的这个下拉菜单的值。
加载页面时,我用accordion指令内的元素的值(selected_country2)初始化accordion指令中的模型(selected_country)。 这样一来,国家的下拉菜单中就会填充来自指令外元素的值。 当用户更改国家/地区下拉菜单时,会有一个作用域:$ watch语句,它在accordion指令外更新下拉列表的值,并在POST发生更新值时发送到服务器。
PS:我确实看过UI-bootstrap网站,并没有正式支持IE8。
链接地址: http://www.djcxy.com/p/68993.html上一篇: Angular UI Bootstrap 0.8.0 accordion not showing selected value in IE8