javascript - 可以選擇和輸入的選擇器?
高洛峰
高洛峰 2017-04-11 11:32:55
[JavaScript讨论组]

想請問如何做一個可以選擇 但又可以自訂的選擇器呢?


選自訂後 可以自己輸入想要的值

但是若又想選擇時,直接再按下拉選

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(3)
伊谢尔伦

寫個大概思路

html

<select name="abc" id='sel'>
    <option value="" id="nth1">自訂</option>
    <option value="a">A</option>
    <option value="b">B</option>
</select>    
<input type="text" id="make"  style="display:block"/>

js

var elMake = document.getElementById("make");
var elNth1 = document.getElementById("nth1");
var elSel = document.getElementById("sel");

//select值改變事件
elSel.onchange = function(){
    //所選option是第一個(自定義),input顯示
    if(se.selectedIndex==0){
        elMake.style.display = 'block';
    //否則不顯示
    }else{
        elMake.style.display = 'none';
    }
}

//將input輸入的值同步到自訂option的value
elMake.onkeyup = function(){
    elNth1.value = elMake.value;
}
PHP中文网

布局

<style>
.select {
  min-width:80px;
}

.select , .diy_inp , .btn {
  height:30px;
}

.btn {
  display:inline-block;
  zoom:1;
  min-width:80px;
}
</style>

<select name='abc' class='select'>
    <option>请选择...</option>
    <option>a</option>
    <option>b</option>
    <option>c</option>
</select>
<input type='text' placeholder='自定义选项' id='diy' class='diy_inp' />
<button id='add_diy_select' class='btn'>添加</button>

结果

交互代码就要你自己写了,这边提供下思路

1. 默认:请选择...
2. 点击选择框,可以选择预定义的选择项
3. 点击 添加按钮 ,向选择框中添加自定义的选择项,并选中添加的选择项
黄舟

使用 HTML5 的 datalist 可以更简单。

<input type="text" list="data">
<datalist id="data">
    <option value="a">a</option>
    <option value="b">b</option>
    <option value="c">c</option>
</datalist>
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号