使用bootstrap,我有一组按钮:
<div id="first" class="panel panel-primary panel-width">
<div class="panel-heading">Yes/No Question</div>
<div id="answer" class="panel-body">
<div class="btn-group-sm" role="group" data-toggle="buttons-checkbox" aria-label="...">
<button type="button" name="CusYes" class="btn btn-default">Yes</button>
<button type="button" class="btn btn-default">No</button>
</div>
</div>
我想检查用户是否选中了是或否。这是我签入js文件的方式:
$(document).ready(function() {
$("#Submit").click(function() {
var CusYes = $("input:button[name=CusYes]:checked").val();
if(CusYes ==== "Yes") { alert ("it works!");}
});
});
它在更改为bootstrap之前曾经工作但现在它不起作用。
添加了提交代码:
<button id="Submit" type="button" class="btn btn-success">
<span class="glyphicon glyphicon-thumbs-up" aria-hidden="true"></span> Submit !
</button>
答案 0 :(得分:1)
它不再是input
- 标签,因此它不匹配。
最简单的方法是给它一个id并使用它来检索值。
<button type="button" name="CusYes" id ="cusyes" class="btn btn-default">Yes</button>
var cusyes = $("#cusyes").val();
我想这也应该有效:
var CusYes = $("button:button[name=CusYes]:checked").val();
答案 1 :(得分:0)
您可能希望使用Single toggle。
这是你的按钮:
<button type="button" class="btn btn-primary" data-toggle="button" aria-pressed="false" autocomplete="off">
Single toggle
</button>
切换按钮附有active
类。因此,在表单提交上,您需要做的就是获取活动的$('button.active')
答案 2 :(得分:0)
在添加bootstrap期间,您的按钮现在不是单选按钮。 你可以在这里点击
<button type="button" name="CusYes" class="btn btn-default commonclass">Yes</button>
<button type="button" class="btn btn-default commonclass">No</button>
$('.commonclass').off('click').on('click',function(){
$('.commonclass').removeClass('active';)
$(this).addClass('active');
});
$("#Submit").click(function(){
// check for active class
if($('.commonclass').find('.active').val() === 'yes'){
alert('yes !');
}
});
答案 3 :(得分:0)
据我所知,这对你有用。
在data-toggle="buttons-checkbox"
的Bootstrap中单击其中的按钮时,它会向其添加active
类(它实际上会在多次单击时切换),但如果Bootstrap JavaScript未正确插入,则可能导致问题。
所以我希望你尝试这个,它肯定会有用。
$('#statusYes').click(function(){
$('#statusYes').toggleClass('active');
});
$('#statusNo').click(function(){
$('#statusNo').toggleClass('active');
});
$('button[id="Submit"]').click(function () {
if($('#statusYes').hasClass("active"))
{
alert("Button with Yes is Active!");
}
if($('#statusNo').hasClass("active"))
{
alert("Button with No is Active!");
}
// Now if none are active
if(!$('#statusYes').hasClass("active") && !$('#statusNo').hasClass("active"))
{
alert("None among Yes and No button is Active");
}
});
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<link href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"/>
<div id="first" class="panel panel-primary panel-width">
<div class="panel-heading">Yes/No Question</div>
<div id="answer" class="panel-body">
<div class="btn-group-sm" role="group" data-toggle="buttons-checkbox" aria-label="...">
<button type="button" id="statusYes" class="btn btn-default">Yes</button>
<button type="button" id="statusNo" class="btn btn-default">No</button>
</div>
</div>
<button id="Submit" type="button" class="btn btn-success"> <span class="glyphicon glyphicon-thumbs-up" aria-hidden="true"></span> Submit !</button>