现在,已经习惯用js去构造网页上的组件,对于普通的下拉框,我们习惯用以下js来构造成页面组件:
var select = document.createElement("select");
var option = document.createElement("option");
option.innerHTML = "Option Text";
option.value = "Value";
select.appendChild(option);
这里不能用option.text = "Option Text"来给option定义显示文本,原因很简单:IE在这种情况下不支持这样的属性赋值,必须使用innerHTML来替换,否则,option的text值在IE下无法正常显示在页面组件上。
如此这般,代码在IE和Firefox下都可以顺利的运行,一切都很正常。但是,潜在的问题也因此产生。
如果我们要设定的text中如果含有特殊字符,如常见的&,<,>等,直接赋到innerHTML中,在IE下所显示出来的text就是空的了。但是,在Firefox下似乎一切都比较正常,但翻译出来的innerHTML中将特殊字符都转换成了&>,<等。
有没有一种折衷的方案,在任意情况下,都能在IE和Firefox下按原文显示或获取一个下拉框的值或文本呢?
查阅资料后,终于找到一种方案,这里引入了一个比较过时的Syntax可以提供给大家参考:
new Option([text[, value[, defaultSelected[, selected]]]]);
不错,这就意味着我们必须用这种new对象的方式来创建option,而不是document.createElement。示例代码如下:
var select = document.createElement("select");
var option = new Option(“Option Text”, “Value”);
select.options[0] = option;
测试在IE和Firefox下均可以用text和value取得原始文本值。这里不提倡用innerHTML来取值,Firefox会将这个innerHTML的内容转译一下,因此也就失去了我们的本意。
所以,对于一个熟练有经验的js程序员,在创建一个select组件的时候,千万记得动态创建自己的option的时候要使用这种保险的方式。
分享到:
相关推荐
在JavaScript编程中,动态生成`select`元素中的`option`是一项常见的需求,特别是在网页交互或者数据展示时。本文将深入探讨如何使用JavaScript实现这一功能,同时结合提供的`autoSelect.html`和`autoselect.txt`...
DWR 处理各种 form 表单 Select/option,table DWR(Direct Web Remoting)是一种基于 Ajax 的远程调用技术,用于简化 JavaScript 与服务器之间的交互。DWR 可以将服务器端的 Java 对象转换为 JavaScript 对象,使得...
在IE6、IE7以及IE8这三款老版本的Internet Explorer浏览器中,存在一个与`<option>`元素和`<select>`元素交互时的特殊行为。标题所提及的问题是,当`<option>`标签没有明确设置`value`属性时,用户在选择该选项后,`...
在实际开发过程中,我们可能会遇到一个常见问题,即当动态地给`a-select`的`option`赋值后,其`placeholder`属性失效,不再显示默认提示文本。这个问题通常出现在数据异步加载的情况下,比如从服务器获取数据并填充...
var item = $("select[@name=items] option:selected").text(); ``` 这里使用了`option:selected`选择器来选取当前被选中的`<option>`元素,并通过`.text()`获取其文本内容。 2. **设置默认选中的下拉项**: ``...
在网页开发中,`<select>`元素用于创建下拉列表,而`<option>`标签则定义了下拉列表中的选项。当用户加载页面时,我们希望某个特定的选项被默认选中。这通常通过比较`<option>`标签的`value`属性与预先设定的值来...
要获取JQuery对象,只需使用`$`符号,如`$('select#id')`。JQuery提供了`.val()`方法来获取或设置选中的`option`值,以及`.append()`和`.remove()`方法来添加或移除`option`。 ```javascript var $selectBox = $('#...
这里的`request.getParameterValues()`方法返回一个字符串数组,包含了用户在表单中选中的所有选项的值。 博客链接(虽然这里没有给出具体内容)通常会提供更详细的实现步骤,可能包括如何与后端交互、如何处理数据...
这种设计可以为用户提供更灵活的选择方式,既可以快速从预设选项中选取,也可以手动输入自定义内容。在描述的场景中,开发人员可能需要在特定页面上实现这种功能,以满足用户既能从预设的选项中进行选择,也能在没有...
在网页设计中,`<select>`元素是HTML中用于创建下拉菜单的关键组成部分。这个下拉菜单常用于提供用户在一组预定义选项中进行选择,它具有空间效率高、易于操作的特点。本教程将深入探讨如何自定义一个具有独特背景和...
然而,在中文环境下,确保`select`下拉查询能正确显示和处理中文字符是一项重要的任务。本篇文章将深入探讨如何实现`select`下拉查询对中文的支持,包括样式设置、初始化方法以及相关的最佳实践。 首先,我们来理解...
在新窗口的modify()函数中,从文本框中获取新的值,并通过opener.updateSelect()调用原窗口的updateSelect()函数,将新的值传递进去,然后在该函数中遍历所有option,找到文本匹配的option并更新其文本为新值。...
在网页开发过程中,经常需要对页面中的元素进行动态操作,比如清除`<select>`下拉列表中的选项。本文将详细介绍如何使用JavaScript实现`select`清零,并深入探讨相关的知识点。 ### 一、基本概念 #### 1.1 `...
总的来说,jQuery使得在JavaScript中处理select和其他HTML元素变得更加简单和直观。它的强大选择器和丰富的API使得开发者能够高效地操作DOM,提升网页交互体验。在实际开发中,熟练掌握jQuery对于操作select和其他...
这行代码告诉Select2去处理所有带有`js-data-example-instance`类的`<select>`元素,为它们添加模糊查询功能。 **4. 模糊查询功能** Select2 自带了模糊查询功能。当用户在下拉框内输入字符时,它会实时过滤出匹配...
当 `select` 元素在表单中时,如果启用了 `multiple`,在表单提交时,所有选中的值将以逗号分隔的字符串形式发送到服务器。如果需要以数组形式发送数据,可以使用 `FormData` API。 5. **第三方库与插件** 在实际...
根据给定的信息,本文将详细解释“select选择事件”中的相关知识点,包括如何利用JavaScript处理select元素的选择事件、鼠标移动事件以及如何获取select元素的选中值。 ### 一、理解select元素及其事件 #### 1.1 ...
`<select>`标签用于创建下拉列表,而`<option>`标签则定义了下拉列表中的选项。例如: ```html <select name="choices" multiple> <option value="option1">Option 1</option> <option value="option2">Option 2...