`
mefly
  • 浏览: 150672 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

固定宽度下拉列表中option内容显示不全问题解决方法

阅读更多

http://clocker321.blog.163.com/blog/static/6350577200982794537757/

 

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script type="text/javascript">
function FixWidth(selectObj)
{

if (navigator.userAgent.toLowerCase().indexOf("firefox") > 0) {
        return;
    }


    var newSelectObj = document.createElement("select");
    newSelectObj = selectObj.cloneNode(true);
    newSelectObj.selectedIndex = selectObj.selectedIndex;
    newSelectObj.id="newSelectObj";
  
    var e = selectObj;
    var absTop = e.offsetTop;
    var absLeft = e.offsetLeft;
    while(e = e.offsetParent)
    {
        absTop += e.offsetTop;
        absLeft += e.offsetLeft;
    }
    with (newSelectObj.style)
    {
        position = "absolute";
        top = absTop + "px";
        left = absLeft + "px";
        width = "auto";
    }
   
    var rollback = function(){ RollbackWidth(selectObj, newSelectObj); };
    if(window.addEventListener)
    {
        newSelectObj.addEventListener("blur", rollback, false);
        newSelectObj.addEventListener("change", rollback, false);
    }
    else
    {
        newSelectObj.attachEvent("onblur", rollback);
        newSelectObj.attachEvent("onchange", rollback);
    }
   
    selectObj.style.visibility = "hidden";
    document.body.appendChild(newSelectObj);
   
    var newDiv = document.createElement("div");
    with (newDiv.style)
    {
        position = "absolute";
        top = (absTop-10) + "px";
        left = (absLeft-10) + "px";
        width = newSelectObj.offsetWidth+20;
        height= newSelectObj.offsetHeight+20;;
        background = "transparent";
        //background = "green";
    }
    document.body.appendChild(newDiv);
    newSelectObj.focus();
    var enterSel="false";
    var enter = function(){enterSel=enterSelect();};
    newSelectObj.onmouseover = enter;
   
    var leavDiv="false";
    var leave = function(){leavDiv=leaveNewDiv(selectObj, newSelectObj,newDiv,enterSel);};
    newDiv.onmouseleave = leave;
}

function RollbackWidth(selectObj, newSelectObj)
{
    selectObj.selectedIndex = newSelectObj.selectedIndex;
    selectObj.style.visibility = "visible";
    if(document.getElementById("newSelectObj") != null){
       document.body.removeChild(newSelectObj);
    }
}

function removeNewDiv(newDiv)
{
    document.body.removeChild(newDiv);
}

function enterSelect(){
  return "true";
}

function leaveNewDiv(selectObj, newSelectObj,newDiv,enterSel){
 if(enterSel == "true" ){
  RollbackWidth(selectObj, newSelectObj);
  removeNewDiv(newDiv);
 }
}
</script>
</head>

<body>

<form method="post">
    <div style="width:100px; height:100px; margin:100px; padding:10px; background:gray;" >
        <select name="Select1" style="width:80px;" onmouseover="FixWidth(this)">
            <option id="A" title="this is A">AAAAAAAAAAAAAAA</option>
            <option id="B" title="this is B">BBBBBBBBBBBBBBB</option>
            <option id="C" title="this is C">CCCCCCCCCCCCCCC</option>
        </select>
    </div>
</form>

</body>

</html>

 

分享到:
评论

相关推荐

    固定宽度下拉列表select中option内容显示不全问题解决方法

    总的来说,处理固定宽度下拉列表`&lt;select&gt;`中`&lt;option&gt;`内容显示不全的问题需要结合HTML、CSS和JavaScript的知识。开发者需要了解浏览器对`&lt;select&gt;`元素的限制,然后根据需求选择最合适的解决方案,无论是使用现有...

    select项内容过长解决办法

    然而,当`&lt;select&gt;`列表中的选项内容过长时,可能会出现一些问题,比如显示不全或者遮挡其他内容。针对这个问题,我们可以采取以下策略来优化和解决: 1. **设置固定宽度**:你可以为`&lt;select&gt;`元素设置一个固定的...

    可选择和输入的下拉列表框示例

    在网页设计和开发中,创建一个既可选择又可输入的下拉列表框可以提供用户更灵活的交互体验。这样的设计允许用户在预设的选项中选择,同时也可以自定义输入他们自己的值。这种功能通常用于那些可能有固定选项但又允许...

    jQuery bootstrap-select下拉多选和搜索

    在网页开发中,为了提高用户体验,经常需要使用到下拉列表。然而,传统的HTML `&lt;select&gt;` 标签往往功能有限,无法满足复杂的交互需求,如多选和搜索功能。这时,jQuery 的插件 `bootstrap-select` 应运而生,它基于 ...

    ComboBox控件应用技巧

    ComboBox控件是Windows Forms和WPF等.NET框架中常见的用户界面元素,用于提供下拉列表选项,用户可以从中选择一个值或输入自定义文本。它结合了文本框(TextBox)和列表框(ListBox)的功能,使得在有限的空间内提供...

    HTML元素大全

    65. `&lt;option&gt;`:定义下拉列表中的选项。 66. `&lt;p&gt;`:定义段落。 67. `&lt;param&gt;`:为`&lt;applet&gt;`、`&lt;object&gt;`或`&lt;embed&gt;`设置参数。 68. `&lt;plaintext&gt;`:以固定宽度字体显示文本,不解析HTML标签,HTML5中已废弃。 69....

    android控件spinner应用示例

    - `android:dropDownWidth`: 设置下拉列表的宽度,可以是固定的像素值或"wrap_content"。 - `spinnerMode`: 可以设置为"dialog"或"dropdown",分别让下拉列表以对话框或下拉菜单的形式出现。 在实际项目中,我们...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例197 页面布局(2列固定宽度+头部+导航+尾部) 242 实例198 页面布局(3列左右侧固定中间自适应居中) 244 实例199 页面布局(2列右侧固定左侧自适应宽度) 247 实例200 页面布局(2列左固定右自适宽度+底平齐) 249 实例...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例197 页面布局(2列固定宽度+头部+导航+尾部) 242 实例198 页面布局(3列左右侧固定中间自适应居中) 244 实例199 页面布局(2列右侧固定左侧自适应宽度) 247 实例200 页面布局(2列左固定右自适宽度+底平齐) 249 实例...

    HTML标签整理.docx

    61. `&lt;optgroup&gt;`:在`&lt;select&gt;`下拉列表中创建逻辑分组。 62. `&lt;option&gt;`:`&lt;select&gt;`元素中的选项。 63. `&lt;p&gt;`:定义一个段落。 64. `&lt;param&gt;`:设置`&lt;applet&gt;`、`&lt;embed&gt;`或`&lt;object&gt;`的初始参数值。 这些...

    css基础重点内容总结.docx

    在深入探讨CSS基础重点内容...以上就是CSS基础重点内容的简要总结,涵盖了路径、标签类型、样式编写、输入类型、定位、透明度以及下拉列表等多个方面。理解并熟练掌握这些知识点,对于进行网页布局和样式设计至关重要。

    HTML元素参考手册

    57. `&lt;noframes&gt;`:在不支持框架的浏览器中显示内容。 58. `&lt;noscript&gt;`:在不支持脚本的环境中显示的内容。 59. `&lt;object&gt;`:插入各种类型的对象,如图片、视频、插件等。 60. `&lt;ol&gt;`:创建有序列表。 61. `...

    打印相关功能描述.docx

    - **技术实现**:在获取打印机名称后,使用DOM操作动态创建`&lt;option&gt;`元素,并将其添加到指定的`&lt;select&gt;`元素中,形成下拉列表。 - **代码示例**: ```javascript for (var i = 0; i ; i++) { var msg = LODOP...

    HTML元素汇总表

    78. **select**: 创建下拉列表。 79. **small**: 使文本比当前字体小,常用于注释或次要信息。 80. **span**: 通用内联容器,用于组合文本或应用样式。 81. **strike**: 用删除线显示文本,现在推荐使用`&lt;s&gt;`。 82. ...

    VB控件属性大全.doc

    - **DropDownWidth**:设置组合框下拉列表的宽度。 #### 1.09 列表框控件(ListBox)的常用属性 - **Text**:当前选定项的文本。 - **List**:列表框的所有项列表。 - **ListIndex**:当前选定项的索引位置。 - **...

    html+css+js总结笔记

    - **`&lt;select&gt;`**:下拉列表框。 - **`&lt;option&gt;`**:列表项。 - **多媒体** - **`&lt;embed&gt;`**:嵌入多媒体文件(如 Flash、音频或视频)。 - **`&lt;bgsound&gt;`**:为页面添加背景音乐。 - **`...

    入门级HTML教程-HTML元素

    `&lt;select&gt;`创建下拉列表或列表框。`&lt;small&gt;`将文本缩小。`&lt;span&gt;`是内联容器,用于组合和样式化文本。`&lt;strike&gt;`(过时)用于删除线文本。`&lt;strong&gt;`使文本加粗,表示重要性。`&lt;style&gt;`定义页面样式。`&lt;sub&gt;`显示...

    HTML颜色参考手册(网页开发必备工具)

    - `&lt;option&gt;`定义下拉列表中的选项。 - `&lt;p&gt;`定义段落。 - `&lt;param&gt;`设置嵌入内容(如`&lt;object&gt;`或`&lt;embed&gt;`)的参数。 - `&lt;pre&gt;`以固定宽度字体显示预格式化的文本。 - `&lt;q&gt;`用于短引用,自动添加引号。 - `&lt;s&gt;`显示...

    Dreamweaver考试题参考题.docx

    例如,可以使用`&lt;option&gt;`标签定义下拉列表中的每个选项。 #### 7. 创建黑体字的文本标签 - **知识点**: `&lt;b&gt;`标签用于创建黑体字。 - **解析**: `&lt;b&gt;`标签用于定义粗体文本,但不具有任何额外的意义或权重。对于...

    网页制作-在线作业-C-答案.docx编程资料

    - **示例**:如要创建一个名为“like”的下拉列表,并将“旅游”作为默认选项,则应使用`&lt;option selected&gt;旅游&lt;/option&gt;`。 ### 知识点7:框架集的定义 **描述:** 框架集是一种早期的网页布局技术,可以将一个...

Global site tag (gtag.js) - Google Analytics