扫描表单按钮是否按下并采取措施

时间:2018-11-11 00:32:44

标签: javascript jquery

我们有一个API生成的带有按钮的记录数组。

<td id=place-bets-1><button class="btn btn-primary my-2 my-sm-0" id="pick-team-5">Select</button></td>

当前,我们有一个静态的jquery调用字符串来禁用按下的jquery按钮,并希望使用数组查找来减少重复代码的丑陋性。

$("#pick-team-1").click(function () {
    $("#pick-team-1").attr("disabled", true);
});

$("#pick-team-2").click(function () {
    $("#pick-team-2").attr("disabled", true);
});

$("#pick-team-3").click(function () {
    $("#pick-team-3").attr("disabled", true);
});

$("#pick-team-4").click(function () {
    $("#pick-team-4").attr("disabled", true);
});

$("#pick-team-5").click(function () {
    $("#pick-team-5").attr("disabled", true);
});

我想也许可以索引我的按钮,然后对按下的按钮数组进行.onclick扫描,并禁用每个单击的按钮。

for (var i = 0; i < buttonspressed; i++) {
    if (buttonspressed = 3) {
        maxoptionsselected();
    } else {
        pleaseselectmore();
    }
}

2 个答案:

答案 0 :(得分:1)

如果您所有的按钮都具有'btn'类,则可以执行以下操作:

$(".btn").click(function () {
    $(this).attr("disabled", true);
});

该按钮应绑定到所有按钮,并禁用单击的按钮。

答案 1 :(得分:0)

以下是一种方法。如果不是页面上的所有按钮,则可以在按钮上使用类来使选择器更加具体。更新范围仅显示查询所选按钮数量的一种方法。我不建议您在点击处理程序中使用它。

var mySpan = $("#numSelected");
$("button").click(function () {
    $(this).attr("disabled", true);
    mySpan.html($("button[disabled]").length);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table>
<tr>
<td><button class="btn btn-primary my-2 my-sm-0" id="pick-team-4">Select</button></td>
<td id=place-bets-1><button class="btn btn-primary my-2 my-sm-0" id="pick-team-5">Select</button></td>
</tr>
</table>
<span id="numSelected">0</span> selected