jquery - 无法提供固定位置以在下拉列表中添加新选项
问题描述
我正在使用带有以下代码的语义 ui 下拉菜单
$('.ui.dropdown')
.dropdown()
;
<html>
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/semantic.min.css" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.4.1/semantic.min.js"></script>
</head>
<body>
<select class="ui dropdown">
<option value="">Select option</option>
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
<option value="4">Option 4</option>
<option value="5">Option 5</option>
<option value="6">Option 6</option>
<option value="new">+Add new</option>
</select>
</body>
</html>
我无法为最后一个选项提供固定位置。我希望最后一个选项“+添加更多”具有固定位置,并且不应该与其他选项一起滚动。我希望添加新选项就像这张图片中的样子
解决方案
您可以使用 CSS 属性sticky 像这样定义它:
$('#sticky').bind('click', function(event) {
//do what you want
var x = document.getElementById("industries_served");
var option = document.createElement("option");
option.text = prompt("Please enter a new value", "Florida");
x.add(option);
});
* {
font-size: 16px;
}
#sticky {
position: -webkit-sticky;
/* Safari */
position: sticky;
bottom: 0;
border-top: .5px solid;
color: blue;
}
select {
border: none;
}
#wrapper {
border: 1px solid;
width: fit-content;
margin: auto;
/* just here to center the div*/
}
.dropbtn {
background-color: #4CAF50;
color: white;
padding: 16px;
border: none;
}
.dropdown {
position: relative;
display: inline-block;
}
.dropdown-content {
display: none;
position: absolute;
z-index: 1;
}
#industries_served option:hover {
background-color: #ddd;
}
#sticky:hover {
background-color: #ddd;
}
.dropdown:hover .dropdown-content {
display: block;
}
.dropdown:hover .dropbtn {
background-color: #3e8e41;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="dropdown">
<button class="dropbtn">Dropdown</button>
<div class="dropdown-content">
<div id="wrapper">
<select class="ui fluid search dropdown" id="industries_served" name="industries_served" multiple="">
<option value="">State</option>
<option value="AL">Alabama</option>
<option value="AK">Alaska</option>
<option value="AZ">Arizona</option>
<option value="AR">Arkansas</option>
<option value="AR">New Mexico</option>
<option value="AR">New York</option>
<option value="AR">???</option>
</select>
<div id="sticky">+ Add more</div>
</div>
</div>
</div>
推荐阅读
- c - 如何链接C ansi中的所有文件?多重定义错误
- node.js - nodejs得到错误'originalType.toConfig不是一个函数'
- android - facebook登录仅显示以前在flutter应用中登录的帐户
- python - python - 如何使用pyserial和python从com端口读取多个值?
- ios - 如何禁用 Tableview DequeueReusableCell?
- c# - Setting service.json path to the GOOGLE_APPLICATION_CREDENTIALS environment variable
- mongodb - 我无法在 raspbian 中安装 mongodb compass
- google-api - 是否可以动态查询 Google API 以查看您使用了多少限制/配额?
- javascript - 函数返回未在控制台中打印
- error-handling - 无法导入 Silhouette Visualizer - 几乎尝试了一切