select下拉列选提示选中内容(选中内容太长)

页面:

<html:select property="timearea" style="width:200px" οnmοuseοver="selMouseOver(this)" οnmοuseοut="selMouseOut(this)"
              οnkeydοwn="catch_keydown(this)" οnkeypress="catch_press(this)" οnfοcus="catch_focus(this)">

js脚本:
function getEvent(){     //同时兼容ie和ff的写法
         if(document.all)    return window.event;       
         func=getEvent.caller;           
         while(func!=null){   
             var arg0=func.arguments[0];
             if(arg0){
                 if((arg0.constructor==Event || arg0.constructor ==MouseEvent)
                     || (typeof(arg0)=="object" && arg0.preventDefault && arg0.stopPropagation)){   
                     return arg0;
                 }
             }
             func=func.caller;
         }
         return null;
 }


//定义 select 原值
var oldValue,oldText;
//select下拉框的onkeydown事件,修改下拉框的值
function catch_keydown(sel)
{
switch(event.keyCode)
{
 case 13: //回车键
  event.returnValue = false;
  break;
 case 27: //Esc键
  sel.options[sel.selectedIndex].text = oldText;
  sel.options[sel.selectedIndex].value = oldValue;
  event.returnValue = false;
  break;
 case 8: //空格健
  var s = sel.options[sel.selectedIndex].text;
  s = s.substr(0,s.length-1);
  if (sel.options[sel.selectedIndex].value==sel.options[sel.selectedIndex].text)
  {
  sel.options[sel.selectedIndex].value=s;
  sel.options[sel.selectedIndex].text=s;
  }
  event.returnValue = false;
  break;
}
if (!event.returnValue && sel.onchange)
 sel.onchange(sel)
}

//select下拉框的onkeypress事件,修改下拉框的值
function catch_press(sel){
if(sel.selectedIndex>=0){
var s = sel.options[sel.selectedIndex].text + String.fromCharCode(event.keyCode);
if (sel.options[sel.selectedIndex].value==sel.options[sel.selectedIndex].text)
{
 sel.options[sel.selectedIndex].value=s;
 sel.options[sel.selectedIndex].text=s;
}
event.returnValue = false;
if (!event.returnValue && sel.onchange)
 sel.onchange(sel)
}
}

//select下拉框的onfocus事件,保存下拉框原来的值
function catch_focus(sel) {
oldText = sel.options[sel.selectedIndex].value;
oldValue = sel.options[sel.selectedIndex].value;
}

//恢复select下拉列表当前选中的值
function LoadSelect(obj,value)
{
for (var i=0; i< obj.options.length; i++)
 if (obj.options[i].value == value)
 {
  obj.selectedIndex = i;
  break;
 }
}


//时区select 选择框鼠标上移时提示选择的内容
function selMouseOver(obj)
{ var evt = getEvent();
with (document.getElementById("div_hint"))
{
 innerText = obj.options[obj.selectedIndex].text;
 if (innerText.length > 0) {
  innerHTML = " " + innerText + " ";
  style.display = "";
   var top = findOffsetTop(document.getElementById("ttd"));
   var left = findOffsetLeft(document.getElementById("ttd"))+document.getElementById("ttd").offsetWidth;
  style.left = left;
  style.top = top;
 }
}
}

//国家select 选择框鼠标上移时提示选择的内容
function selMouseOver1(obj)
{ var evt = getEvent();
with (document.getElementById("div_hint"))
{
 innerText = obj.options[obj.selectedIndex].text;
 if (innerText.length > 0) {
  innerHTML = " " + innerText + " ";
  style.display = "";
   var top = findOffsetTop(document.getElementById("ctd"));
   var left = findOffsetLeft(document.getElementById("ctd"))+document.getElementById("ctd").offsetWidth;
  style.left = left;
  style.top = top;
 }
}
}
function   findOffsetTop(o) {
 var   t   =   0;
 if (o.offsetParent) {
  while   (o.offsetParent) {
   t += o.offsetTop;
   o = o.offsetParent;
  }
 }
 return t;
}
function   findOffsetLeft(o) {
 var   t   =   0;
 if   (o.offsetParent) {
  while (o.offsetParent) {
   t += o.offsetLeft;
   o = o.offsetParent;
  }
 }
 return t;
}

//select 选择框鼠标移开时消失
function selMouseOut(obj)
{
with (document.getElementById("div_hint"))
{
 style.display = "none"
}
}

Vue3 中的 `el-select` 组件是 Element UI 库提供的下拉选择组件,它通常用于让用户从预设选项中进行单选或多选。当你想要在用户选中某个选项后立即显示相关的数据或状态,可以按照以下步骤操作: 1. **绑定值**: 首先,在模板中将 `el-select` 的 `value` 属性绑定到一个变量上,例如 `selectedOption`,这样当用户选择新的选项时,这个变量会自动更新。 ```html <el-select v-model="selectedOption"> <!-- 下拉选项 --> </el-select> ``` 2. **选项动态绑定**: 您需要提供一个包含选项的数据源,比如一个数组,然后在下拉列表中通过循环渲染。当用户更改选择时,`v-model` 的变化会触发组件内部的选择改变。 ```javascript <script> export default { data() { return { options: ['选项A', '选项B', '选项C'], selectedOption: '', }; }, }; </script> ``` 3. **响应式处理**: 当 `selectedOption` 改变时,你可以根据需求更新视图或其他业务逻辑。例如,如果你有一个显示区显示所选选项的详细信息,可以用 `selectedOption` 来获取并更新。 ```html <div>{{ selectedOption ? `你选择了:${selectedOption}` : '未选择' }}</div> ``` 4. **事件监听**: 如果你需要更复杂的交互,可以监听 `change` 或 `input` 事件,它们会在用户做出选择后立即触发。 ```html <el-select @change="handleSelectChange"></el-select> ``` ```javascript methods: { handleSelectChange(value) { // 对所选值做进一步处理 } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值