Javascript 单击某个div时禁用同级div并获取值

Javascript 单击某个div时禁用同级div并获取值,javascript,jquery,css,html,Javascript,Jquery,Css,Html,当我点击其中一个DIV时,它会在DIV内找到复选框并选中它。所以另一个部门会躲起来。 我面临的问题是,当其他DIV隐藏时,如何禁用它,或者我可以单击其他DIV并打破最初的想法,只留下单击的DIV 2) 如何获取选中div的值 3) 如何检测是否未选中复选框 TQ A. 勾选正确答案 A. B C D 核对答案 var btncounter=0; $(“#checkbtn”).hide(); $(“#答案>div”)。单击(函数(e){ e、 停止传播(); var status=$(this)

当我点击其中一个DIV时,它会在DIV内找到复选框并选中它。所以另一个部门会躲起来。 我面临的问题是,当其他DIV隐藏时,如何禁用它,或者我可以单击其他DIV并打破最初的想法,只留下单击的DIV

2) 如何获取选中div的值

3) 如何检测是否未选中复选框

TQ


A.

勾选正确答案

A. B C D 核对答案 var btncounter=0; $(“#checkbtn”).hide(); $(“#答案>div”)。单击(函数(e){ e、 停止传播(); var status=$(this).find(“输入:复选框”).prop(“选中”); $(this).find(“输入:复选框”).prop(“选中”、!status); $(this).兄弟姐妹('div').slideToggle(!status); btncounter++; 如果(BTN计数器%2==1) $(“#checkbtn”).show(); 其他的 $(“#checkbtn”).hide(); });
像这样试试

$("#checkbtn").hide();
$("#answer > div").click(function (e) {
    $(this).find("input[type=checkbox]").trigger("click");

});
$("input[type=checkbox]").click(function (e) {

    $(this).parent().siblings('div').slideToggle();
    $("#checkbtn").toggle();

    e.stopPropagation();
});

编辑

    var btncounter = 0;
$("#checkbtn").hide();
$("#answer > div").click(function (e) {
    if (!$(this).find("input[type=checkbox]").attr("disabled")) {
        $(this).find("input[type=checkbox]").trigger("click");
    }
});
$("input[type=checkbox]").click(function (e) {
    $("input[type=checkbox]").not(this).attr("disabled", true);
    $(this).parent().siblings('div').stop().slideToggle("slow", function () {
        $("input[type=checkbox]").not(this).removeAttr("disabled");
    });
    $("#checkbtn").toggle();

    e.stopPropagation();
});

$("#checkbtn").click(function(){
   alert($("input[type=checkbox]:checked").parent().text());
});
试试看

$("#checkbtn").hide();

var $checks = $("#answer > div input:checkbox").change(function (e) {
    $divs.stop(true);

    var $div = $(this).parent();
    var $sibs = $divs.not($div)[this.checked ? 'slideUp' : 'slideDown']();
    $div.slideDown();

    $sibs.find('input:checkbox').prop('checked', false);
    $("#checkbtn").toggle($checks.filter(':checked').length > 0);
})

var $divs = $("#answer > div").click(function (e) {
    if (!$(e.target).is('input')) {
        $(this).find("input:checkbox").prop("checked", function (i, checked) {
            return !checked;
        }).change();
    }
});

演示:

您想让用户只选择一个复选框,对吗?是的,选择后我得到值。如果取消选择,则值为0;您到底想做什么?请在用户选择答案后重试,并检查答案是否正确。1) 当点击按钮时,按钮将弹出2)当点击按钮时,将获得值3)如果没有复选框没有按钮尝试快速点击div,它也将选中另一个复选框。
$("#checkbtn").hide();

var $checks = $("#answer > div input:checkbox").change(function (e) {
    $divs.stop(true);

    var $div = $(this).parent();
    var $sibs = $divs.not($div)[this.checked ? 'slideUp' : 'slideDown']();
    $div.slideDown();

    $sibs.find('input:checkbox').prop('checked', false);
    $("#checkbtn").toggle($checks.filter(':checked').length > 0);
})

var $divs = $("#answer > div").click(function (e) {
    if (!$(e.target).is('input')) {
        $(this).find("input:checkbox").prop("checked", function (i, checked) {
            return !checked;
        }).change();
    }
});