如何使 Bootstrap 下拉菜单成为必需?

Posted

技术标签:

【中文标题】如何使 Bootstrap 下拉菜单成为必需?【英文标题】:How to make a Bootstrap dropdown required? 【发布时间】:2015-05-09 18:27:25 【问题描述】:

所以,我有以下代码,用于使用引导程序制作的下拉框:

<div class="btn-group">
    <button id="landKapitein" type="button" data-toggle="dropdown" class="btn btn-default dropdown-toggle">Land
        <span class="caret"></span>
    </button>
    <ul class="dropdown-menu">
        <li><a role="menuitem" tabindex="-1" href="#">België/Belgique</a></li>
        <li><a role="menuitem" tabindex="-1" href="#">Deutschland</a></li>
        <li><a role="menuitem" tabindex="-1" href="#">France</a></li>
        <li><a role="menuitem" tabindex="-1" href="#">Nederland</a></li>
        <li><a role="menuitem" tabindex="-1" href="#">United Kingdom</a></li>
     </ul>
</div>

现在我想让它要求你从这个下拉框中选择一些东西,然后你才能继续。我已经为文本框和单选按钮添加了 required 到标签,但是我这里没有这样的标签,那我该怎么做呢?

【问题讨论】:

您没有按照@samuelms 的建议使用select 元素,而是找到了其他解决方案吗? 【参考方案1】:

如果我们只是在 select 标签中输入 required 并在选项中输入 &lt;option value=""&gt;None&lt;/option&gt; ,它将用于验证。我已经参考了这个page。

必须在提供的值中进行选择。

但我想知道如何编写默认情况下的自定义验证消息,如这条消息。?

 <form action="demo_form.asp">
    <select required>
      <option value="">None</option>
      <option value="volvo">Volvo</option>
      <option value="saab">Saab</option>
      <option value="mercedes">Mercedes</option>
      <option value="audi">Audi</option>
    </select>
    <input type="submit">
    </form>

以上代码适用于“在提交前选择列表中的项目”等验证。

【讨论】:

我不确定您使用的是哪个 Bootstrap 版本,但如果您在“选择”中输入“必需”,然后在下拉列表中输入 ,你会得到你想要的。【参考方案2】:

如果您想使用此代码,请使用 Bootstrap 下拉选择

<select id='terms' class='form-control' required>
    <option selected disabled>Select </option>
    <option value="Y">Yes</option>
    <option value="N">No</option>
</select>

【讨论】:

虽然此代码可以回答问题,但提供有关其解决问题的方式和原因的信息可提高其长期价值【参考方案3】:

您能改用select element 并将 required 应用于其标签吗?

<select class="form-control" required>
    <option>België/Belgique</option>
    <option>Deutschland</option>
    <option>France</option>
    <option>Nederland</option>
    <option>United Kingdom</option>
</select>

请参阅this SO question。

【讨论】:

您必须更改select 元素的样式才能获得与引导程序使用按钮和列表的方式相同的样式。这可能不是您想要做的。 如果想使用 ui.bootstrap.dropdown 然后选择,选项是不行的。可以和ui.bootstrap.dropdown一起做吗?【参考方案4】:

在 CSS 中:

.btn.btn-default.dropdown-toggle.is-invalid 
  border-color: #dc3545;

html 中:

<input type="hidden" class="form-control"  name="idType" required />
<div class="btn-group">
    <button id="landKapitein" type="button" data-toggle="dropdown" class="btn btn-default dropdown-toggle">Land
        <span class="caret"></span>
    </button>
    <ul class="dropdown-menu">
        <li><a role="menuitem" tabindex="-1" href="#">België/Belgique</a></li>
        <li><a role="menuitem" tabindex="-1" href="#">Deutschland</a></li>
        <li><a role="menuitem" tabindex="-1" href="#">France</a></li>
        <li><a role="menuitem" tabindex="-1" href="#">Nederland</a></li>
        <li><a role="menuitem" tabindex="-1" href="#">United Kingdom</a></li>
     </ul>
</div>

javascript 中:在选择下拉菜单时设置输入字段的值。

【讨论】:

【参考方案5】:
<select class="form-control" required="required">
 <option>A</option>
 <option>A</option>
 <option>A</option>
</select>

请在您的选择器中设置 required = "required"

【讨论】:

以上是关于如何使 Bootstrap 下拉菜单成为必需?的主要内容,如果未能解决你的问题,请参考以下文章

如何使 Bootstrap 单选按钮继续进入下拉菜单

如何在悬停时制作 Bootstrap 的下拉菜单?

使图像成为下拉菜单

如何在悬停而不是单击时制作 Twitter Bootstrap 的“拆分按钮下拉菜单”下拉菜单?

带有 twitter-bootstrap 的下拉菜单

Bootstrap 4,在导航菜单项中使用多个下拉按钮