添加选项以选择聚焦IE9
adding options to select on focus IE9
我正试图用jquery将选项延迟加载到select中。这段代码适用于我测试过的所有浏览器,IE9除外。(IE7、IE8、FF、Chrome均可使用)
function LazyLoadOptionsIntoSelect($select, options) {
//get current option
var selectedOptionVal = $select.val();
var selectedOptionDisplay = $select.find("option:selected").text();
//repopulate options
if (selectedOptionDisplay === "--Select a File--"
|| selectedOptionDisplay === "----------") {
$select.html("");
$("<option>").val("").text("--Select a File--")
.appendTo($select);
}
else {
$select.html($("option:selected", $select));
$("<option>").val("").text("----------")
.appendTo($select);
}
$.each(options, function () {
var item = this;
$("<option>").attr("name", function () { return item.display; })
.val(item.value)
.text(item.display)
.appendTo($select);
});
//select previous val
$select.val(selectedOptionVal);
}
$(document).on("focus", ".html-select", function () {
LazyLoadOptionsIntoSelect($(this), HtmlOptions);
});
$(document).on("focus", ".txt-select", function () {
LazyLoadOptionsIntoSelect($(this), TxtOptions);
});
$(document).on("focus", ".xml-select", function () {
LazyLoadOptionsIntoSelect($(this), XmlOptions);
});
我已经试着解决这个问题好几个小时了,但什么都不起作用。。有什么解决方案吗?或者我需要写一种不同的方式来加载IE9中的选项吗?
options是一个包含值和显示的对象数组。
这适用于更简单的用例,但这显然对微软来说太难处理了<_<;
经过几个小时的摆弄,我尝试更改css,看看重新绘制元素是否有效。的确如此。
$(document).on("focus", ".html-select", function () {
LazyLoadOptionsIntoSelect($(this), HtmlOptions);
if ( $("body").hasClass("ie9") )
{
$(this).width($(this).width());
}
});
相关文章:
- Angular JS IE9 Hashbang url rewriting
- 在Twitter上用ie9中的空白src访问iframe的contentWindow
- 将事件聚焦/模糊在可编辑内容的元素上
- jQuery自动完成阻止选择后聚焦
- 在IE9中的输入字段中输入焦点最近按钮
- 为什么jQuery 1.8不能在IE8和InternetExplorer9中使用?(截至2012年9月的IE9最新版本)
- 使用向下箭头键(与tab键一样)聚焦下一个输入
- 当没有文本输入聚焦时检测空格键按下
- IE9的HTML5 Canvas getImageData()函数存在问题
- 使用JavaScript在IE9中获取数据列表选项
- Ajax模式下的Jquery Select2 V4在IE9中不起作用
- 如何移除或改进:在Bootstrap Carousel上聚焦风格
- jQuery无法在IE9中隐藏选项
- 如何在悬停和聚焦时打开引导导航菜单
- 对象为null或IE9中存在未定义错误
- IE9抛出错误的reactJs
- 使用jquery创建dom元素会导致ie9出现拒绝访问错误
- DreamFactory REST API POST休息/用户/会话请求总是在IE9中返回错误
- 文本框聚焦事件并在IE9中输入问题
- 添加选项以选择聚焦IE9