javascript - 查找是否选择了某个按钮

标签 javascript jquery html

我有带有按钮组和提交按钮的 HTML 代码。脚本代码检查是否已选择并根据该选择进行提交。如果没有选择任何按钮,则显示警报。

$("#Save").on("click", Save);

function Save(e) {
    if (GeneralStatusAlert(e) == false) {
        return;
    } else {
        $('#frmSubmit').submit();
    }
}

function GetGeneralStatus() {
    var value = "";
    var row = $("#btnGeneral").closest(".row")   
    var object = $(this).find(".btn-group");
    value = $(object).find(".selected");
    return value;
}      

function GeneralStatusAlert(e) {
    var value = GetGeneralStatus();
    if (value.length < 1) {
        alert("Please set Status.");
        return false;
    }
    return true;
}

$('.testRow button').click(function () {    
    $(this).addClass("selected");    
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.0/js/bootstrap.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.0/css/bootstrap.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<div class="row testRow">
    <div class="btn-group btnGeneral">
        <button type="button" class="btn btn-success btnStatus" value="Open">Open</button>
        <button type="button" class="btn btn-danger btnStatus" value="Closed">Closed</button>
    </div>
</div>
     
<br/> 
<br/> 
<div class="row">
    <button id="Save" class="btn btn-primary"><i class="fa fa-share-square-o"></i> Save</button> 
</div>

它不起作用。我错过了什么?

编辑:添加了单击按钮时的选择按钮类。

最佳答案

我稍微更新了你的 JS:

$("#Save").on("click", Save);

$(".btnStatus").on("click", function(){
    $(".btnStatus").removeClass("selected");
    $(this).addClass("selected");
});

function Save(e) 
{
if (GeneralStatusAlert(e) == false) {
    return;
}
else{
     $('#frmSubmit').submit();
    }
}


function GetGeneralStatus() {
    var value = "";  
    value = $("div.btn-group").find(".selected");
    return value;
}      

function GeneralStatusAlert(e) {
    var value = GetGeneralStatus();
    if (value.length < 1) {
        alert("Please set Status.");
        return false;
    }
    return true;
}

基本上,您在单击状态按钮时并未添加 selected 类。此外,您的代码 var object = $(this).find(".btn-group"); 没有找到任何内容。 (由于使用this)

关于javascript - 查找是否选择了某个按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50004860/

相关文章:

javascript - Ajax 通过 POST 发送数据(JSON)

javascript - 在数据库中存储多个可拖动项目的位置

html - youtube 视频上的元素重叠

javascript - 按钮上的数据加载消息不适用于 ajax 调用

jquery - 如何从 jQuery 设置 'pop' 或 'shift'

html - Bootstrap 3 列内的固定高度可滚动 div

javascript - 如何处理 JavaScript 中嵌套函数中的变量

javascript - 发布 html 表单触发 ajax 请求 NO JQuery

javascript - 为什么在检索日期选择器值时我的函数会阻止检索其他值?

JS文件中的PHP常量