javascript - 如何检查要选中的复选框?

标签 javascript jquery

我有 2 个复选框。我需要一个,而不是两个,但至少要检查 1 个。这不是多项选择,但不接受零。如果选中一项,则此行将起作用 jQuery('#wiz_menu.nav-tabs > .active').next('li').find('a').trigger('click');否则它应该发出警报。以下内容使其始终处于警报状态。

更新

我没有使用提交按钮,否则我会使用 validate plugin 。这是向导中转到下一步的普通按钮 <button type="button" class="btnNext">Next step</button>

HTML

<div class="form-group">
    <label for="usp-category-8" class="usp-checkbox usp-cat usp-cat-0">
        <input type="checkbox" name="usp-category[]" id="usp-category-8" value="8" data-required="true" class="usp-input usp-input-category"> 
        Cultura
    </label>
    <label for="usp-category-7" class="usp-checkbox usp-cat usp-cat-0">
        <input type="checkbox" name="usp-category[]" id="usp-category-7" value="7" data-required="true" class="usp-input usp-input-category"> 
        Scienze
    </label>
    <input type="hidden" name="usp-category-required" value="1">
</div>

JS

jQuery('.btnNext').on("click", function(){
  if(jQuery(".tab-pane").is("#step1")) {
    var isChecked = false;
    $('input[type=checkbox]').on("change", function () {
      isChecked = true;
    });
    if ( isChecked ) {
      jQuery('#wiz_menu.nav-tabs > .active').next('li').find('a').trigger('click');
    } else {
      alert( 'Please, check at least one checkbox!' );
    }  
  }
});

最佳答案

通过 jQuery,您可以使用 is :

$('#form').on('submit', function(e) {
  e.preventDefault();
  if ($('input[name="hi"]').is(':checked')) {
    console.log('checked');
  }
});
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="form">
  <input type="checkbox" name="hi" value="hi">Hallo<br>
  <input type="checkbox" name="gb" value="gb">Tschuss<br>
  <input type="submit" value="Submit">
</form>

适应您的代码:

$('.btnNext').click(function(e) {
	e.preventDefault();
  if ($('#usp-category-7').is(':checked') || $('#usp-category-8').is(':checked')) {
    console.log('at least one is checked');
  }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="form-group">
    <label for="usp-category-8" class="usp-checkbox usp-cat usp-cat-0">
        <input type="checkbox" name="usp-category[]" id="usp-category-8" value="8" data-required="true" class="usp-input usp-input-category"> 
        Cultura
    </label>
    <label for="usp-category-7" class="usp-checkbox usp-cat usp-cat-0">
        <input type="checkbox" name="usp-category[]" id="usp-category-7" value="7" data-required="true" class="usp-input usp-input-category"> 
        Scienze
    </label>
    <input type="hidden" name="usp-category-required" value="1">
    <button class="btnNext">Next</button>
</div>

关于javascript - 如何检查要选中的复选框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43441071/

相关文章:

jquery - knockout : Mapping/binding JSON issue

javascript - Reactjs、CSS - 为什么我的网格不能正确显示元素

jquery - 显示与父级相同类的图像,与列表项的 ID 相同

javascript - 我无法获得定位父 div 和父 sibling 的按钮

php - 通过选项卡更新补贴

javascript - 如何在JS中创建动态变量?

javascript - 如何从 JavaScript 数组中删除重复的对象?

javascript - 如何将带有节点坐标的路径转换为带有点的 <path> 标记

javascript - 如何从 JavaScript 通过 TCP 发送 OSC?

javascript - 如何伪造浏览器大小调整 1px 并将其恢复到原来的样子?