javascript - 当 li 上的类不存在时禁用按钮

标签 javascript jquery html css

我想防止在列表中没有选择元素时单击按钮。仅当列表中至少有 1 个具有 highlight 类时才启用它。

HTML

<ul class="list">
  <li><input type="checkbox" name="cat[]" id="1" value="227">
  <label class="label-list" for="1">Select</label></li>
    <li><input type="checkbox" name="cat[]" id="2" value="227">
  <label class="label-list" for="2">Select</label></li>
    <li><input type="checkbox" name="cat[]" id="3" value="227">
  <label class="label-list" for="3">Select</label></li>
    <li><input type="checkbox" name="cat[]" id="4" value="227">
  <label class="label-list" for="4">Select</label></li>
</ul>

<input type="submit" id="search" class="btn-info" value="search" disabled>

脚本:

$(".list .label-list").click(function() {
    $(this).toggleClass("highlight");
});

CSS:

.highlight {background:red;}

FIDDLE

尝试使用此脚本,但如何将 attr 从禁用切换为启用?

if( $('.list .label-list').hasClass('highlight') === true ) 
{
 $('#search').addClass('active');
}

最佳答案

您应该测试 is :checked 就像

var $checkb = $(".list").find("input[type='checkbox']"),
    $search = $("#search");

$checkb.on("change", function(){
	$search.prop("disabled", !$checkb.is(":checked"));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="list">
  <li>
    <label>
      <input type="checkbox" name="cat[]" value="224">
      Select
    </label>
  </li>
  <li>
    <label>
      <input type="checkbox" name="cat[]" value="225">
      Select
    </label>
  </li>
  <li>
    <label>
      <input type="checkbox" name="cat[]" value="226">
      Select
    </label>
  </li>
  <li>
    <label>
      <input type="checkbox" name="cat[]" value="227">
      Select
    </label>
  </li>
</ul>

<input type="submit" id="search" class="btn-info" value="search" disabled>

关于javascript - 当 li 上的类不存在时禁用按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40297710/

相关文章:

html - 如何去除悬停时出现的这种内部浅蓝色?

javascript - 将 div 捕捉到滚动时的固定导航栏

JavaScript 正则表达式 OR 运算符

javascript - 在表中添加时转换在切换类中不起作用

javascript - 使用 jquery 获取表的每行总计和总计

javascript - jquery 触发器 ('resize' ) 函数只工作一次吗?

javascript - 如何自定义卡片定位 Bootstrap

javascript - jQuery 自动完成小部件源 - 参数来自哪里?

选择选项后,Javascript/Jquery 更改 Select 类

html - 带有样式化十进制数字的 UL 列表项