Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用搜索选项创建选择框_Javascript_Jquery_Html_Css_Html Select - Fatal编程技术网

Javascript 使用搜索选项创建选择框

Javascript 使用搜索选项创建选择框,javascript,jquery,html,css,html-select,Javascript,Jquery,Html,Css,Html Select,我试图复制你在这张图片中看到的东西 我希望能够在框上方的文本字段中键入,或者直接单击该选项 最好的办法是什么?是否已经存在与引导相关的内容?Select2可能比selected更好、更活跃 请参见此比较: 几个月前,我选择了Select2,因为Select2在通过输入法使用汉字时遇到了一个问题,它工作得很好。这将通过使用jquery来完成。这是密码 <select class="chosen" style="width:500px;"> <option>Html<

我试图复制你在这张图片中看到的东西

我希望能够在框上方的文本字段中键入,或者直接单击该选项

最好的办法是什么?是否已经存在与引导相关的内容?

Select2可能比selected更好、更活跃

请参见此比较:


几个月前,我选择了Select2,因为Select2在通过输入法使用汉字时遇到了一个问题,它工作得很好。

这将通过使用jquery来完成。这是密码

<select class="chosen" style="width:500px;">
<option>Html</option>
<option>Css</option>
<option>Css3</option>
<option>Php</option>
<option>MySql</option>
<option>Javascript</option>
<option>Jquery</option>
<option>Html5</option>
<option>Wordpress</option>
<option>Joomla</option>
<option>Druple</option>
<option>Json</option>
<option>Angular Js</option>
</select>
</div>
<script type="text/javascript">
$(".chosen").chosen();
</script>

Html
Css
Css3
Php
MySql
Javascript
滑动分页
Html5
Wordpress
逐浪
鼓点
Json
角Js
$(“.selected”).selected();

这个简单的代码对我很有用


这对我们大多数人都适用。 Hemanth Palle给出的答案是最简单的方法,它对我很有效,JS代码也不是必需的。 我发现的唯一问题是,根据W3Schools的说法,Internet Explorer 9和早期版本以及Safari中都不支持

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
<input list="browsers">
<datalist id="browsers">
  <option value="Internet Explorer">
  <option value="Firefox">
  <option value="Chrome">
  <option value="Opera">
  <option value="Safari">
</datalist>  
</body>
</html>

改用数据列表

<form action="/action_page.php" method="get">
      <input list="browsers" name="browser">
      <datalist id="browsers">
        <option value="Internet Explorer">
        <option value="Firefox">
        <option value="Chrome">
        <option value="Opera">
        <option value="Safari">
      </datalist>
      <input type="submit">
    </form>

不受支持,即9和背面。

这是我之前制作的一个方便的开源库,它使用jQuery: 这是我的VPS上的工作副本: 该库具有高度可定制性和可重写的行为,并且可以在同一网页上进行单独的设计
希望这有助于

完整选项可搜索选择框

这也支持控制按钮键盘,如
箭头向下
箭头向上
回车

函数过滤器函数(即事件){
让容器,输入,过滤,li,输入值;
容器=$(that).closest(“.searchable”);
input_val=container.find(“input”).val().toUpperCase();
如果([“箭头向下”、“箭头向上”、“输入”].indexOf(event.key)!=-1){
keyControl(事件、容器)
}否则{
li=容器。查找(“ul li”);
li.每个(功能(i、obj){
if($(this).text().toUpperCase().indexOf(input_val)>-1){
$(this.show();
}否则{
$(this.hide();
}
});
container.find(“ul li”).removeClass(“selected”);
setTimeout(函数(){
container.find(“ulli:visible”).first().addClass(“selected”);
}, 100)
}
}
功能键控制(e,容器){
如果(e.key==“箭头向下”){
if(container.find(“ul li”).hasClass(“选定”)){
if(container.find(“ulli:visible”).index(container.find(“ulli.selected”))+10{
container.find(“ul li.selected”).removeClass(“selected”).prevAll().not(“[style*=”display:none“]).first().addClass(“selected”);
}
}否则,如果(e.key==“输入”){
container.find(“input”).val(container.find(“ul li.selected”).text()).blur();
onSelect(container.find(“ul li.selected”).text()
}
container.find(“ul li.selected”)[0]。scrollIntoView({
行为:“平滑”,
});
}
函数onSelect(val){
警报(val)
}
$(“.searchable input”).focus(函数(){
$(this).closest(“.searchable”).find(“ul”).show();
$(this).closest(“.searchable”).find(“ul li”).show();
});
$(“.searchable input”).blur(函数(){
让那=这;
setTimeout(函数(){
$(that).最近的(“.searchable”).find(“ul”).hide();
}, 300);
});
$(文档)。在('单击','上。可搜索ul li',函数(){
$(this).closest(“.searchable”).find(“input”).val($(this.text()).blur();
onSelect($(this.text())
});
$(“.searchable ul li”).hover(函数(){
$(this).closest(.searchable”).find(“ul li.selected”).removeClass(“selected”);
$(此).addClass(“选定”);
});
div.searchable{
宽度:300px;
浮动:左;
利润率:0.15px;
}
.可搜索输入{
宽度:100%;
高度:50px;
字号:18px;
填充:10px;
-webkit盒尺寸:边框盒;/*Safari/Chrome,其他webkit*/
-moz盒大小:边框盒;/*Firefox,其他壁虎*/
盒尺寸:边框盒;/*Opera/IE 8+*/
显示:块;
字体大小:400;
线高:1.6;
颜色:#495057;
背景色:#fff;
背景剪辑:填充框;
边框:1px实心#ced4da;
边界半径:.25rem;
过渡:边框颜色。15秒慢进慢出,方块阴影。15秒慢进慢出;
背景:url(“数据:image/svg+xml;charset=utf-8,%3Csvg xmlns=”http://www.w3.org/2000/svg'viewBox='0 0 4 5'%3E%3path fill='23343a40'd='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E')不重复右键。75rem中心/8px 10px;
}
.可搜索ul{
显示:无;
列表样式类型:无;
背景色:#fff;
边界半径:0 0 5px 5px;
边框:1px实心#添加8e6;
边界顶部:无;
最大高度:180像素;
保证金:0;
溢出y:滚动;
溢出x:隐藏;
填充:0;
}
.可查询ul li{
填充:7px 9px;
边框底部:1px实心#e1e1;
光标:指针;
颜色:#6e6e;
}
.已选择可搜索的ul li{
背景色:#e8e8e8;
颜色:#333;
}

  • 阿尔及利亚
  • 保加利亚
  • 加拿大
  • 埃及
  • 斐济
  • 印度
  • 日本
  • 伊朗伊斯兰共和国
  • 老挝人民民主共和国
  • 密克罗尼西亚联邦
  • 尼加拉瓜