我有几个按钮。当用户点击任何按钮时,我想给他一个点击按钮的印象。
这是代码:
<table>
<thead>
<tr>
<th><button class="btn btn-danger" >Today</button></th>
<th><button class="btn btn-danger" >Tomorrow</button></th>
<th><button class="btn btn-danger" >DayAfterTomorrow</button></th>
</tr>
</thead>
</table>
当我只有一个按钮时,这就有效:
<button class="btn" data-toggle="button">Today</button>
如果用户明天点击,则数据切换属性仍保留为今日按钮。相反,我想在单击另一个按钮时禁用data-toggle属性。
答案 0 :(得分:5)
您可以使用bootstraps单选按钮功能来实现该效果。试试这个:
<div data-toggle="buttons-radio">
<button class="btn btn-danger">Today</button>
<button class="btn btn-danger">Tomorrow</button>
<button class="btn btn-danger">DayAfterTomorrow</button>
</div>
答案 1 :(得分:1)
试试这样:
$('.btn').click(function(){
//Removing `data-toggle` from all elements
$('.btn').removeData('toggle');
//Adding `data-toggle` on clicked element
$(this).data('toggle','button');
});
答案 2 :(得分:0)
您需要将div下的按钮分组,并在组上设置数据切换。
的示例页面中看到它<!-- Add data-toggle="buttons-checkbox" for checkbox style toggling on btn-group -->
<div class="btn-group" data-toggle="buttons-checkbox">
<button class="btn">Left</button>
<button class="btn">Middle</button>
<button class="btn">Right</button>
</div>
答案 3 :(得分:0)
以下是我为我的网站提出的建议(唯一的改进方法是不使用隐藏变量来存储最终值)
$("input[name='dispatch']").change(function(){
$(this).parent().siblings().removeClass('active btn-primary');
$("#WantsDispatchService").val($(this).val());
});
<div class="btn-group btn-toggle " data-toggle="buttons">
<label class="btn btn-default btn-sm">
<input name="dispatch" value="false" type="checkbox"> No
</label>
<label class="btn btn-default btn-sm">
<input name="dispatch" value="true" type="checkbox"> Yes
</label>
</div>
<input type ="hidden" id="WantsDispatchService" name="WantsDispatchService" value="false">
</div>
答案 4 :(得分:0)
您可以使用$().button('toggle')
通过javascript切换按钮状态。*
在我的情况下;我不能使用分组按钮,它们在视觉上彼此分开。
我检查是否按下了其他按钮并使用javascript将其切换回来。 这是我的解决方案:
$('#buttonA').click(function (e) {
if ($('#buttonB').attr('aria-pressed') == 'true') {
$('#buttonB').button('toggle');
}
e.preventDefault();
});
$('#buttonB').click(function (e) {
if ($('#buttonA').attr('aria-pressed') == 'true') {
$('#buttonA').button('toggle');
}
e.preventDefault();
});