【问题标题】:Change color/button type AND keep caret on click Bootstrap dropdown menu menu更改颜色/按钮类型并在单击 Bootstrap 下拉菜单菜单时保持插入符号
【发布时间】:2015-04-29 01:05:09
【问题描述】:

我是 JS 的新手,但使用其他 Stack 帖子,我已经走到了这一步。提前致谢!

此引导下拉按钮有效,但是所需的结果是下拉按钮会根据选择更改颜色,并且下拉按钮每次单击时都会保留“下拉插入符号”。换句话说,它必须保留一个下拉菜单按钮,而不是成为单击时的常规按钮。我不知道如何设置类和/或更改所选每个选项的颜色。

因此,选择开机会导致一个标有“开机”的绿色下拉按钮。或关机 = 红色等...

https://jsfiddle.net/1buok5mn/

    $(function () { <!-- change text in power button -->

        $(".dropdown-menu").on('click', 'li a', function () {
            $(".btn:first-child").text($(this).text());
            $(".btn:first-child").val($(this).text());

        });

    });
    <div class="btn-group">
        <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false">Power On/Off <span class="caret"></span>

        </button>
        <ul class="dropdown-menu" role="menu">
            <li><a href="#">Power On</a>
            </li>
            <li><a href="#">Low Power</a>
            </li>
            <li class="divider"></li>
            <li><a href="#">Power Off</a>
            </li>
        </ul>
    </div>

谢谢!!!

【问题讨论】:

    标签: twitter-bootstrap


    【解决方案1】:

    这是 DEMO page 工作正常..

        <div class="btn-group">
      <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false" id="ddl">
        Power On/Off <span class="caret"></span>
     </button>
      <ul class="dropdown-menu" role="menu">
        <li><a href="#" id="1" >Power On</a></li>
    
        <li><a href="#" id="2" >Low Power</a></li>
    
        <li class="divider"></li>
        <li><a href="#" id="3" >Power Off</a></li>
    
      </ul>
    </div>
    

    这是jquery部分

     $('ul li a').click(function(e) 
        {   
            var id = $(this).attr('id')
        if(id=="1")
        {
            $('#ddl').removeClass('btn-default');
             $('#ddl').removeClass('alert-warning');
             $('#ddl').removeClass('alert-danger');
            $('#ddl').addClass('alert-success'); 
            $('#ddl').text('Power On');
        }
            if(id=="2")
        {
            $('#ddl').removeClass('btn-default');
            $('#ddl').removeClass('alert-success');
             $('#ddl').removeClass('alert-danger');
            $('#ddl').addClass('alert-warning'); 
            $('#ddl').text('Low Power');
        }
            if(id=="3")
        {
             $('#ddl').removeClass('btn-default');
             $('#ddl').removeClass('alert-success');
             $('#ddl').removeClass('alert-warning');
             $('#ddl').addClass('alert-danger');        
            $('#ddl').text('Power Off');
        }
    
        });
    

    【讨论】:

    • 这部分工作。但是,它仍然需要按钮中的文本更改为原始代码中选择的内容。另外,我想知道是否有一种方法可以使用少于 3 次删除和为每个 id 添加一次的代码来更改类。
    猜你喜欢
    • 2018-02-28
    • 1970-01-01
    • 1970-01-01
    • 2014-07-05
    • 2015-10-17
    • 2018-06-05
    • 1970-01-01
    • 2015-02-03
    • 2018-11-29
    相关资源
    最近更新 更多