代码之家  ›  专栏  ›  技术社区  ›  Vlad T.

如何将选择选项显示为按钮?

  •  1
  • Vlad T.  · 技术社区  · 6 年前

    <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>
    

    enter image description here

    我试着把它显示为

    <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">
    ...
    

    但我无法在后端获取和验证此表单中的数据。选择小部件将提供最好的,但我不知道如何显示为按钮它。

    如果能给我一个想法或一个例子,我将不胜感激。

    2 回复  |  直到 6 年前
        1
  •  3
  •   Stickers    6 年前

    我建议使用checkbox-over-select,你可以用一些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>
        2
  •  9
  •   Stakvino    6 年前

    #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>