【问题标题】:How to make span class for drop down list required?如何为需要的下拉列表制作跨度类?
【发布时间】:2017-06-01 10:05:41
【问题描述】:
<a class="btn btn-info btn-select btn-select-light">
<input type="hidden" class="btn-select-input" id="" name="shopcollection" 
value="" required="required"/>

<span class="btn-select-value">Select Shop</span>
<span class='btn-select-arrow glyphicon glyphicon-chevron-down' 
required="required"></span>

<ul>
    <li>example1</li>
    <li>example2</li>
    <li>example3</li>
</ul>
</a>

$(document).ready(function () {
$(".btn-select").each(function (e) {
    var value = $(this).find("ul li.selected").html();
    if (value != undefined) {
        $(this).find(".btn-select-input").val(value);
        $(this).find(".btn-select-value").html(value);
    }
});
});

$(document).on('click', '.btn-select', function (e) {
    e.preventDefault();
    var ul = $(this).find("ul");
    if ($(this).hasClass("active")) {
       if (ul.find("li").is(e.target)) {
        var target = $(e.target);
        target.addClass("selected").siblings().removeClass("selected");
        var value = target.html();
        $(this).find(".btn-select-input").val(value);
        $(this).find(".btn-select-value").html(value);
    }
    ul.hide();
    $(this).removeClass("active");
}
else {
    $('.btn-select').not(this).each(function () {
        $(this).removeClass("active").find("ul").hide();
    });
    ul.slideDown(300);
    $(this).addClass("active");
}
});

$(document).on('click', function (e) {
var target = $(e.target).closest(".btn-select");
if (!target.length) {
    $(".btn-select").removeClass("active").find("ul").hide();
}
});

我正在尝试这样做,因此用户必须选择其中一个元素(示例 1),但是我所需的代码不起作用,因此用户可以绕过下拉列表。我已经包含了下拉代码(顶部)和下拉 javascript 文件(底部),有什么提示吗?

【问题讨论】:

  • 列表和跨度都不是表单控件。他们不允许用户首先选择任何东西。你可能有一些 JavaScript 让它们像表单控件一样工作,但你忘了提到这一点。如果您希望它们像表单控件一样执行输入验证,那么您需要添加更多 JavaScript 来实现这些功能。
  • 我已经包含了js文件,请问有没有需要下拉列表?

标签: html dropdown required


【解决方案1】:

您将需要使用select 来满足您的需求:

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

延伸阅读:https://www.w3schools.com/tags/att_select_required.asp

【讨论】:

  • 我无法将所需的选择样式设置为与我的跨度类相同吗?有没有办法让它们看起来一样?
  • 如果你想设计select,看看select2
  • 谢谢,但我似乎无法让 select2 与 bootstrap 一起工作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-19
  • 2019-04-14
  • 1970-01-01
  • 1970-01-01
  • 2014-12-28
  • 2023-03-25
  • 1970-01-01
相关资源
最近更新 更多