我得到了以下 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/