javascript - JQuery 仅启用值为 True 的按钮

标签 javascript jquery html ejs

我得到了以下 HTML 代码:

<button type="button" class="btn btn-primary jumbotron-td-enable-button enb btnEnable" value="<%= enables[i]%>">
  Enable
</button>

此按钮是通过动态提取 json 文件中的数据呈现的,因此我得到以下值 value="<%= enables[i] %>

这是我的javascript:

$(".btnEnable").each(function() {
    var isEnable = $(this).val();
    if (isEnable == 'FALSE') {
        $(".enb").attr("disabled", true);
    }
});

我的问题是它完成了所有的按钮,例如按钮的值是这样的:

FALSE
TRUE
TRUE
FALSE

所以我只想禁用 FALSE 按钮。我确实尝试使用 ID,它做了我想要的,但问题是它只得到第一个 FALSE 值而不是另一个

最佳答案

问题是因为 $('.enb') 将选择所有按钮。相反,您应该在 each() 调用中使用 this 关键字来引用迭代中的当前按钮。试试这个:

$(".btnEnable").each(function() {
    var isEnable = $(this).val();
    $(this).prop("disabled", isEnable == 'FALSE');
});

请注意此处 prop() 的使用,因为您可以为其提供一个 bool 值,该值适用于 isEnable 的任一状态,这意味着您可以删除 if 条件。

关于javascript - JQuery 仅启用值为 True 的按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42001581/

相关文章:

javascript - 当我运行代码时浏览器显示空白页面

javascript - 如何将当前登录的用户添加为 Firestore 中的字段

javascript - 使用 jquery 将 &lt;script&gt; 附加到 <div> 中

jquery - 如何使用 ASP 压缩 JSON?

javascript - 我如何使用 jquery(或只是 javascript)遍历 cookies?

javascript - 如何在按钮单击 jQuery 时逐行滚动表格

javascript - 使用正则表达式替换字符串中的匹配项

html - 仅使用 CSS 加载时如何缩放元素?

javascript - 模态弹出窗口在桌面上打开视频,但在触摸屏设备上打开应用程序

javascript - 隐藏单选按钮但显示标签?