【问题标题】:How to have several bootstrap buttons active at a time on one page?如何在一个页面上一次激活多个引导按钮?
【发布时间】:2018-01-04 07:35:45
【问题描述】:

在使用引导按钮类时,我无法向用户显示多个活动按钮。我有两行按钮 - 我希望用户能够从每一行中选择一个值,并且我希望两个选定的按钮都显示为活动状态,以便用户可以轻松查看他们选择的选项。目前,如果用户选择一个按钮,它会突出显示,但一旦他们从另一行中选择另一个按钮,第二个按钮就会突出显示,但第一个按钮不再对用户显示为活动状态。

所以我有:

<div class="btn-group text-center">
                <button type="button" class="btn btn-primary" value="row 1 choice 1" />
                <button type="button" class="btn btn-primary" value="row 1 choice 2" />
              </div>
<div class="btn-group text-center">
                <button type="button" class="btn btn-primary" value="row 2 choice 1" />
                <button type="button" class="btn btn-primary" value="row 2 choice 2" />
              </div>

用户被指示从第一行和第二行中选择一个选项,我只希望两个按钮在选择后显示它们处于活动状态(通过指示较深的颜色),而不是只有一个能够处于活动状态一次。

【问题讨论】:

  • 添加您的问题的屏幕截图或网址
  • 您想要实现的行为可以通过切换按钮来实现。请查看此链接bootstraptoggle.com

标签: javascript php html twitter-bootstrap button


【解决方案1】:

您首先必须从所有按钮中删除“活动”类,然后将“活动”类添加到按下的按钮:

<script>
    $(".btn-primary").click(function () {
        $(btn-primary").removeClass("active");
        $(this).addClass("active");
    });
</script>

【讨论】:

  • 谢谢!!只需在列出的 btn-primary 前面添加一个句点即可使用您的代码!
【解决方案2】:

你可以在它们被点击时设置active类:

/* Latest compiled and minified CSS included as External Resource*/
@import url('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css');

body {
    margin: 10px;
}
<div class="btn-group text-center">
                <button type="button" class="btn btn-primary active" value="row 1 choice 1" />
                <button type="button" class="btn btn-primary" value="row 1 choice 2" />
              </div>
<div class="btn-group text-center">
                <button type="button" class="btn btn-primary" value="row 2 choice 1" />
                <button type="button" class="btn btn-primary active" value="row 2 choice 2" />
              </div>

【讨论】:

    【解决方案3】:

    您需要在按钮上切换一个活动类。使用按钮元素也存在问题,因为它们在单击它们时具有默认行为,这会弄乱样式。我已将它们更改为锚标签,并且效果很好。

    <div class="btn-group text-center">
        <a class="btn btn-primary"  data-value="row 1 choice 1"></a>
        <a class="btn btn-primary"  data-value="row 1 choice 2"></a>
    </div>
    <div class="btn-group text-center">
        <a class="btn btn-primary" data-value="row 2 choice 1"></a>
        <a class="btn btn-primary" data-value="row 2 choice 2"></a>
    </div>
    
    <script>
        $(".btn-primary").click(function () {
            $(this).toggleClass("active")
        });
    </script>
    

    如果您需要使用 javascript 从锚标记中检索值,您可以像我一样使用 html 5 数据属性:

    html:

    <a id="btn4" class="btn btn-primary" data-value="row 2 choice 2"></a>
    

    Js:

     $("#btn4").data("value")
    

    【讨论】:

    • 您好,感谢您的回复。唯一的问题是我只希望每行中的一个按钮一次处于活动状态。使用此方法,每个选定的按钮都保持活动状态
    • 好的,我不明白你的问题。您希望每组只能选择 1 个吗?或者你可以在一个组中选择 2 个吗?
    • 每组选择1个
    猜你喜欢
    • 1970-01-01
    • 2021-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-28
    • 2012-08-23
    • 2017-04-08
    相关资源
    最近更新 更多