javascript - 选择和选项标签的 HTML 和 CSS 问题
问题描述
我很难正确调整选择选项框来处理我想要它做的事情。
我是 CSS/HTML 的新手,目前正在做一个项目,该项目的目标基本上是一个复制考试/学生在线考试的网站。
在屏幕截图中添加的当前框是从数据库发送给我的编程问题的完整长度。我正在根据过滤器用不同的问题填充选项标签。
我唯一真正的问题是如何正确“查看”整个问题,而不是 xxx 像素空间量。(当前设置为 600)。
select标签是否可以通过显示多行来显示大量文本(一个很长的问题)?如果是,请帮助我了解如何,如果不是..我设置它的替代方法是什么。
我需要能够选择它,因为我将选择的值(问题)添加到同一页面上显示的“考试”中,然后将其与已选择的任何问题一起提交。
当前相关代码:
<select class="questionBank" id="questionSelect" size="10" style="width:600px;"></select>
//some of the script code to maybe help understand whats happening.
//this script is just the filter connecting to a backend program and pulling correct questions for population.
<script>
function filterq(){
var ajaxRequest = new XMLHttpRequest();
ajaxRequest.onreadystatechange = function() {
if (this.readyState == 4) {
document.getElementById('questionSelect').innerText = null
alert(this.responseText);
for(i=0;i<21;i++){
var questionDisplay = document.getElementById("questionSelect");
var options = document.createElement("option");
var data=JSON.parse(this.responseText);
questionArray.push(data['list'][i]['question']);
idArray.push(data['list'][i]['ID']);
options.text=questionArray[i]+" (ID:"+idArray[i]+")";
questionDisplay.add(options);
}
</script>
解决方案
在这种类型的选择框中似乎不可能有多行选项或带有中断的选项,这似乎是您所要求的,但您也可以使用常规列表进行自定义:
document.getElementById("list").addEventListener("click", function(e) {
const target = e.target;
Array.from(document.getElementsByTagName("li")).forEach(item =>
item.classList.remove("selected"),
);
target.classList.add("selected");
});
.selected {
background-color: blue;
color: white;
}
li {
list-style: none;
cursor: pointer;
}
}
<ul id="list">
<li class="selected">
A <br />
multiline <br />
option
</li>
<li>
Another<br />
multi<br />
line <br />
option here
</li>
<li>
Foo<br />
Bar<br />
Baz <br />
</li>
</ul>
推荐阅读
- api - 结果代码 = -32,RespMsg = 证书链未验证,通用名称与 URL 不匹配
- python - Django allauth - 我可以在社交登录后禁用重定向吗?
- arrays - 使用一系列数字创建新列
- angular6 - 如何从浏览器控制台调用 Angular 6 函数?
- python - 在 Python 中使用复制模块(不仅仅是创建一个新变量)?
- python - 在 Django 单元测试中测试手动事务
- scala - 不支持没有相等谓词的流流连接
- arrays - 如何在 MATLAB 中创建表数组?
- angular - 如何更改 service.ts 角度中的变量值?
- laravel - 在 Laravel 5.6 中升级和运行单元测试时模型上的未定义关系