我有一个带有选择的表格:
<select name="work_days" id="id_work_days" multiple="multiple">
<option value="1">sun</option>
<option value="2">mon</option>
<option value="3">tue</option>
<option value="4">wed</option>
<option value="5">thu</option>
<option value="6">fri</option>
<option value="7">sat</option>
</select>
我想通过CSS和javascript将此表单字段呈现为一组按钮(请参见屏幕截图)
我试图将其显示为
<input type="button" name="work_days" value="sun">
<input type="button" name="work_days" value="mon">
<input type="button" name="work_days" value="tue">
<input type="button" name="work_days" value="wed">
...
但是我无法从后端的此表单获取并验证数据。选择小部件将是最好的选择,但是我不知道如何将其显示为按钮。
我很感谢一个想法或一个例子。
答案 0 :(得分:1)
我建议在选择框上使用复选框,您将可以使用一些CSS技巧来完全设置按钮的样式。
#id_work_days input[type="checkbox"] {
display: none;
}
#id_work_days span {
display: inline-block;
padding: 10px;
text-transform: uppercase;
border: 2px solid gold;
border-radius: 3px;
color: gold;
}
#id_work_days input[type="checkbox"]:checked + span {
background-color: gold;
color: black;
}
<p id="id_work_days">
<label><input type="checkbox" name="work_days" value="1"><span>sun</span></label>
<label><input type="checkbox" name="work_days" value="2"><span>mon</span></label>
<label><input type="checkbox" name="work_days" value="3"><span>tue</span></label>
<label><input type="checkbox" name="work_days" value="4"><span>wed</span></label>
<label><input type="checkbox" name="work_days" value="5"><span>thu</span></label>
<label><input type="checkbox" name="work_days" value="6"><span>fri</span></label>
<label><input type="checkbox" name="work_days" value="7"><span>sat</span></label>
</p>
答案 1 :(得分:0)
您可以在选择元素中设置选项的样式
#id_work_days{
height: 44px;
border: none;
overflow: hidden;
}
#id_work_days::-moz-focus-inner {
border: 0;
}
#id_work_days:focus {
outline: none;
}
#id_work_days option{
width: 60px;
font-size: 1.2em;
padding: 10px 0;
text-align: center;
margin-right: 20px;
display: inline-block;
cursor: pointer;
border:rgb(204, 204, 0) solid 1px;
border-radius: 5px;
color: rgb(204, 204, 0);
}
<select name="work_days" id="id_work_days" multiple>
<option value="1">sun</option>
<option value="2">mon</option>
<option value="3">tue</option>
<option value="4">wed</option>
<option value="5">thu</option>
<option value="6">fri</option>
<option value="7">sat</option>
</select>