我有一个HTML表单,其中有一个+标记。我想通过Javascript对选项列表进行排序。我编写的代码适用于Chrome,Firefox,Safari和Opera,但在Internet Explorer中不起作用。我正在粘贴下面的Javasript代码。我的代码中缺少什么?
window.onload = function () {
categoryOptions = $('category').innerHTML;
$('category').innerHTML = sortCategoryOptions(categoryOptions);
};
sortCategoryOptions()的函数定义如下:
function sortCategoryOptions(categoryOptions) {
var eachOption = categoryOptions.split('</option>');
for (var i = 0; i < (eachOption.length - 1); i++) {
eachOption[i] = eachOption[i] + '</option>';
}
eachOption.sort();
optionsSorted = '';
for (var i = 0; i < eachOption.length; i++) {
optionsSorted = optionsSorted + eachOption[i];
}
return optionsSorted;
}
categoryOptions字段具有以下内容
<option>Option3</option>
<option>Option1</option>
<option>Option2</option>
<option>Option4</option>
预期输出
答案 0 :(得分:0)
对于初学者来说,你真的在寻找一个无视,正如评论中所指出的那样{{1这里是<category>
标签,我很确定这不是你的意图。$
的别名,而不是document.getElementById
。
除此之外,使用jQuery
排序是一个可怕的想法,更是如此,因为你依赖于innerHTML
不被浏览器的解析器更改(它总是会</option>
)
因此,考虑到这一点,并假设您正在使用</OPTION>
,请尝试一下:
<select id="category">