`

关于 select 的添加 option 应该注意的问题

阅读更多
标准的做法就是 :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
    <title>Untitled Page</title>
</head>
<body onload="f()">
<select id="s">
    <option value="55">就是这样的。</option>
</select>
</body>

<script>
function f(){
    var s = document.getElementById('s');
    for(var i=0; i<10; i++){
        var option = document.createElement('option');
        //s.insertBefore(option,s.options[0]);
        /* 标准做法使用 s.options.add() */
        s.options.add(option)
      /* 非标准做法就是用 insertBefore 或者 appendChild */
      //s.appendChild(option);
       option.text = 'hello' + i;
      //option.innerHTML = 'Hello' + i;
       option.value = i;
  //  s.appendChild(option);
    }
    /* 当且仅当用 s.options.add() 添加项时才有效 */
    s.selectedIndex = 4 ;
}
</script>
</html>

也就是说,标准的做法是 s.options.add();
但是如果你一定要用 s.appendChild(option);
注意了,你只能用如下两种方式之一:
1.  s.appendChild(option);
     option.text = 'hello world';
     option.value =3;
   也就是,一定要先添加到 select 中,然后再为 option 赋值。否则在 FF 下是显示正常的,但是在 IE6 中显示的是空白

2. 如果你要讲 option.text 和 option.value 的赋值放在前面,那么请用 option.innerHTML 而不是 option.text
  如下:
    option.innerHTML = 'hello world';
    opion.value = 3;
    option.appendChild(option);


又看了一个牛人的博客,得到了第三种解决方式。

var op=document.createElement("option");      // 新建OPTION (op)
op.setAttribute("value",0);          // 设置OPTION的 VALUE
op.appendChild(document.createTextNode("请选择---")); // 设置OPTION的 TEXT

select.appendChild(op);           // 为SELECT 新建一 OPTION(op)


也就是所,你的 op 的text 是通过 appendChild(.... createTextNode ) 来进行的。。
-----------
转自http://www.blogjava.net/CopyHoo/articles/246501.html
分享到:
评论

相关推荐

    js 操作select和option

    接着,通过 `options.add()` 方法向 `&lt;select&gt;` 中添加了一个新的 `&lt;option&gt;` 元素。需要注意的是,`new Option()` 构造函数的第一个参数是显示的文本,第二个参数是实际提交的值。 #### 3. 删除所有 Option 项 ``...

    jquery获得select option值

    根据提供的文件信息,我们可以总结出一系列关于如何使用jQuery来获取不同类型的表单元素(如文本框、单选按钮、复选框以及下拉列表)的值的方法。下面将详细介绍这些方法及其应用场景。 ### 一、获取文本框(input ...

    Webdynpro for ABAP中select option 用法

    如果选择条件比较复杂,开发者无需在SELECT查询中编写冗长的逻辑表达式,这些问题可以通过Select Options语句来解决。Select Options定义了一个范围表,该表包含四列:Sign、Option、Low和High。 例如,在ABAP报告...

    JavaScript实现select添加option

    综上所述,实现select添加option的基本步骤和要点包括: 1. 使用`document.createElement("SELECT")`创建select元素。 2. 使用循环结构,通过`new Option(text, value)`创建option元素,并利用`_select.options.add...

    关于解决ElementUi中select框在页面滚动时el-option超出元素区域的问题+ cascader滚动超出问题

    然而,在实际使用过程中,可能会遇到一些问题,比如Select下拉选项(el-option)在页面滚动时超出元素区域,以及Cascader级联选择器滚动超出其容器。这两个问题都会影响用户体验。本文将详细探讨这两个问题的原因及...

    两个select之间option的互相添加操作(jquery实现)

    在Web开发中,经常需要实现两个下拉列表(select元素)中选项(option元素)的相互添加或移动操作。这种操作可以通过纯JavaScript或jQuery来实现。上述内容提供了一个使用jQuery实现该功能的插件示例。以下详细介绍...

    页select中如何实现选择option其中一个选项,显示相关的内容

    - 创建一个`&lt;select&gt;`元素,并为其添加多个`&lt;option&gt;`元素,每个`&lt;option&gt;`的`value`属性值对应新闻标题。 - 在页面上创建一个`&lt;div&gt;`元素,用作显示新闻内容的容器。 2. **CSS样式设置**: - 通过CSS将`&lt;div&gt;`...

    select下拉列表显示图片内容

    可能是指使用jQuery来操作`select`元素,例如`$("#***").append('&lt;option&gt;&lt;img src="..."&gt;&lt;/option&gt;')`来添加带有图片的选项。但需要注意的是,原生的`&lt;option&gt;`标签不支持内联HTML,所以图片需要通过CSS背景图或者...

    Html dom中的select, option_ 级联下拉列表

    在HTML DOM中操作select和option时,可以使用诸如document.getElementById获取select元素,再利用add方法来添加option元素。 此外,创建元素时还需注意元素的样式如何被定义。在文中提到,要修改的样式必须是内联...

    使用js对select动态添加和删除OPTION示例代码

    3. **动态添加option**: `document.getElementById("ddlResourceType").options.add(new Option(text,value));` 这行代码会向`&lt;select&gt;`元素添加一个新的`&lt;option&gt;`元素,其中`text`是显示的文本,`value`是对应...

    通过隐藏option实现select的联动效果

    特别注意的是,`dropLang`的第一个选项是`&lt;Please Select&gt;`,通常用于提示用户做出选择。 接下来,引入了jQuery库的链接,这是一段外部JavaScript代码的引用,使得我们可以使用jQuery提供的便利API来处理DOM操作。 ...

    DWR 处理各种form表单Selectoption,table.doc

    在使用 DWR 处理各种 form 表单 Select/option 和 table 时,需要注意以下几点: * IE5.0 不支持 $() 函数,需要使用 document.getElementById 替代。 * 在更新 select 时,需要保存原来的数据,否则会丢失原来的...

    html option禁用选择 select禁用选项示例

    在这个例子中,`disabled`属性被添加到`&lt;option&gt;`元素的第三个、第四个和第五个选项上,使得用户无法选择它们。 另一种方法是使用`&lt;optgroup&gt;`元素来分组选项并隐藏它们。`&lt;optgroup&gt;`元素用于创建一个有标签的选项...

    select里实现checkbox选择和input里边实现上下一条

    在实现`select`中的多选和`input`的滚动条功能时,需要注意代码的可维护性和跨平台兼容性,以提供最佳的用户体验。在项目中,这样的功能优化可以提高用户交互的便捷性和舒适度,从而提升整体的网站质量。

    select美化HTML的select标签的原始样式,并且不影响原始select的事件方法调用

    2. **数据绑定**:将`&lt;select&gt;`的`&lt;option&gt;`元素的文本和值映射到自定义元素的内部元素(如`&lt;span&gt;`),这样用户看到的选项就与原始`&lt;select&gt;`保持一致。 3. **事件处理**:监听自定义元素的点击事件,当用户点击...

    JS动态添加与删除select中的Option对象(示例代码)

    `addOneOption`函数会向`select`元素的末尾添加一个新的`option`,其中`new Option(text, value)`用于创建新的`option`对象,`text`参数是显示的文本,`value`参数是选项的值。 ### 注意事项 - 确保在尝试操作`...

    jQuery对Select的操作大集合(收藏)

    例如,`$("#select_id").append()` 方法可以在Select的末尾添加新的Option,而`$("#select_id").prepend()` 则能在Select的开头插入Option。这样,我们可以轻松地动态构建或更新下拉列表。同时,`$("#select_id ...

    实现可编辑的select

    在网页开发中,选择框(`&lt;select&gt;`...需要注意的是,由于Editable Select插件是在原生`select`元素上进行增强,因此在不支持JavaScript的环境中,仍然可以使用标准的`select`功能,这在某种程度上保证了网页的可用性。

    Editable Select 可编辑select

    虽然可编辑的Select增强了用户体验,但也要注意性能问题。大量选项时,实时过滤和匹配可能会影响页面响应速度,这时可以考虑使用分页、懒加载或异步加载等技术来优化。 ### 7. 兼容性和无障碍性 确保可编辑的Select...

Global site tag (gtag.js) - Google Analytics