Jquery 提交表单时取消选中复选框

Jquery 提交表单时取消选中复选框,jquery,html,Jquery,Html,我不确定在jQuery中使用时这是否是一个bug。单击()函数而不是.change()函数作为复选框。这对我来说很有效 :但不在实时页面上 您可以使用以下顺序进行测试: 语言>英语 国家>联合王国 单击“继续” 选择任意选项并单击“继续”以查看下3个问题,直到您发现问题“在维修产品之前,您采取了哪些步骤尝试解决问题?” 尝试选择最后一个选项“以上无一项”,然后单击“继续”。在加载到下一个问题的过程中,checked选项本身被神秘地取消选中,因此如果您在下一页查看源代码,您将发现应该是 与其他复选

我不确定在jQuery中使用
时这是否是一个bug。单击()
函数而不是
.change()
函数作为复选框。这对我来说很有效 :但不在实时页面上

您可以使用以下顺序进行测试:

  • 语言>英语
  • 国家>联合王国
  • 单击“继续”
  • 选择任意选项并单击“继续”以查看下3个问题,直到您发现问题“在维修产品之前,您采取了哪些步骤尝试解决问题?”
  • 尝试选择最后一个选项“以上无一项”,然后单击“继续”。在加载到下一个问题的过程中,checked选项本身被神秘地取消选中,因此如果您在下一页查看源代码,您将发现
    应该是


    与其他复选框配合使用很好。有人能找出原因吗

  • 查看页面源代码的底部,选择“以上无一项”

    使用此代码:

    $('input[name!="ResolveWay_7"]').click(function() {
        $('input[name="ResolveWay_7"]').removeAttr('checked');
    });
    
    这样,每次单击输入时,复选框都会被禁用。因此,当您单击submit按钮(是的,这也是一个输入)时,它会取消选中复选框


    我相信您只需要将选择器更改为
    $('input[type=“checkbox”][name!=“ResolveWay_7”]”)
    就可以了。

    问题在于这段代码:

    $('input[name!="ResolveWay_7"]').click(function() {
        $('input[name="ResolveWay_7"]').removeAttr('checked');
    });
    
    您的Continue按钮也将满足jQuery选择器的要求,因为它是
    类型,而不是ResolveWay\u 7。因此,单击“继续”按钮时,它将取消选中复选框。

    选中此复选框:

    $('input[name!="ResolveWay_7"]').click(function() {
        $('input[name="ResolveWay_7"]').removeAttr('checked');
    });
    
    当您单击除
    ResolveWay_7
    之外的任何输入时,它会清除
    选中的
    属性(
    ResolveWay_7
    ),提交按钮(continue)也是一个输入,因此单击它会清除复选框。 您需要从选择中排除按钮,如:

    $('input[name!="ResolveWay_7"]').not("input.myButton").click(.......);
    

    是的,这是为了如果我们勾选“None of this”,所有其他复选框都将被取消勾选,@Chris wereright@FadliSaad:是的。我反驳了James的说法,即有两个地方可以从输入中删除checked属性。正如您所说,一个从该输入中删除它,另一个从所有其他输入中删除它。如果我使用的不是
    ,应该可以吧?例如
    那么,使用
    click()
    change()
    函数有什么不同吗?在这种情况下,我觉得是一样的。单击和更改之间有区别(例如,您可以单击已选择的元素,但它不会更改),但这不会影响您遇到问题的行为。
    $('input[name!="ResolveWay_7"]').click(function() {
        $('input[name="ResolveWay_7"]').removeAttr('checked');
    });
    
    $('input[name!="ResolveWay_7"]').not("input.myButton").click(.......);