javascript - 如何获取父div data-id

标签 javascript jquery html checkbox

我有

<div class="answers-form"  data-id="1">
    <div class="form-group">
       <label>
           <input value="" type="checkbox" name="answer[]">
       </label>
    </div>
    <span></span>           
</div>

我需要检查,如果检查输入,则获取divdata-id

最佳答案

您需要将 change 事件监听器附加到复选框,然后使用 closest() 获取父级,最后使用 data() 就像:

$('[name="answer[]"]').on('change', function() {
    if ( $(this).is(':checked') ) {
        console.log( $(this).closest('.answers-form').data('id') );
    }
});

如果您必须检查提交时是否选中复选框,您可以在提交事件中执行此操作,例如:

$('form').on('submit', function(e) {
    e.preventDefault();

    if ( $('[name="answer[]"]').is(':checked') ) {
        console.log( 'submit' );
    } else {
        console.log( 'Prevent submit' );
        return false;
    }
});

希望这有帮助。

$('[name="answer[]"]').on('change', function() {
    if ($(this).is(':checked')) {
        console.log($(this).closest('.answers-form').data('id'));
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>


<div class="answers-form" data-id="1">
  <div class="form-group">
    <label>
       <input value="" type="checkbox" name="answer[]" />
    </label>
  </div>
  <span></span>

</div>

关于javascript - 如何获取父div data-id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47247585/

相关文章:

javascript - HTML5 Context/Canvas - 何时在上下文上调用绘制

javascript - jQuery - 如何检查一个元素是否存在?

jquery - 如何使用 jQuery 获取相同兄弟元素中嵌套元素的 DOM 位置?

javascript - Jquery DataTable 排序数值列无法正常工作

javascript - 固定文本仅在一个 div 内可见

javascript - 模拟 AngularJS ng-click 事件

javascript - 指导我将日期更改为几小时前

javascript - 控制浏览器缓存生成的 JavaScript

javascript - 如何避免JavaScript中的 float 显示错误

html - 如何忽略 roadie gem 中覆盖桌面样式的媒体查询样式?