Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 附加选择选项-即问题/解决方案导致其他浏览器问题_Javascript_Internet Explorer_Select_Innerhtml - Fatal编程技术网

Javascript 附加选择选项-即问题/解决方案导致其他浏览器问题

Javascript 附加选择选项-即问题/解决方案导致其他浏览器问题,javascript,internet-explorer,select,innerhtml,Javascript,Internet Explorer,Select,Innerhtml,我有一个例子,根据前面的选项,由一个带有一组值的var填充 当然,由于IE不能与innerHTML一起使用,我必须将此模板附加到现在在IE中非常有效的模板中。但是,我现在需要一种方法来清除上一次搜索中的选择选项,并在FF中阻止它下降到列表中的最后一个 只需使用innerHTML重写整个select块,这一点始终有效。使用YUI3: node.setContent(template); //removes old children, sets new template as content

我有一个例子,根据前面的选项,由一个带有一组值的var填充


当然,由于IE不能与innerHTML一起使用,我必须将此模板附加到现在在IE中非常有效的模板中。但是,我现在需要一种方法来清除上一次搜索中的选择选项,并在FF中阻止它下降到列表中的最后一个

只需使用innerHTML重写整个select块,这一点始终有效。

使用YUI3:

    node.setContent(template); //removes old children, sets new template as content.
    node.set('selectedIndex', 0); //forces FF to select the first one

使用正确的方法编辑。

从中清除选项的简单方法:

如果您选择_control.length=0,某些浏览器会清除列表,但我发现这不可靠

插入选项的简单方法:

var new_option = new Option(text, value)
try {
    select_control.add(new_option, select_control.options[0])
} catch(e) {
    select_control.add(new_option, 0)
}
0是您希望在项目之前创建的项目的索引。要将其添加到末尾,请执行以下操作:

select_control.options[select_control.length] = new_option

如果您希望通过指定现有选项的索引来替换特定项,这也会起作用。

我有一个示例,根据以前的选项,它由一个带有一组值的var填充。-这句话很难理解,这是一些很好的信息,但是我发现在循环中运行新选项100次会在某些计算机上锁定IE。好吧,我没有遇到那个错误!我通常只想加上一两个。如果我有一个完整的列表要重新填充,我通常会渲染每个列表,并摆弄CSS display属性来显示正确的列表。当然,服务器端也必须知道如何查看正确的表单元素。
select_control.options[select_control.length] = new_option