根据选中的按钮做出决定

时间:2015-06-30 18:39:22

标签: javascript html twitter-bootstrap button

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

4 个答案:

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