【问题标题】:submit values of custom checkbox in form在表单中提交自定义复选框的值
【发布时间】:2012-07-26 18:51:52
【问题描述】:

我有一个带有自定义复选框图像的 div。它是一种形式。单击时,我将图像更改为“单击图像”。我还调整了将提交到表单的复选框输入的值。问题是即使“真实”复选框的值出现选中,它总是提交为未选中。

    if (fakeCheck.hasClass('btn-palette-checkbox')) {
        fakeCheck.removeClass('btn-palette-checkbox');
        fakeCheck.addClass('btn-palette-checkbox-unchecked');
        $("#realCheck").attr("checked", false);
    }
    else {
        fakeCheck.addClass('btn-palette-checkbox');
        fakeCheck.removeClass('btn-palette-checkbox-unchecked');
        $("#realCheck").attr("checked", true);
    }

编辑:仅供参考,真正的复选框是隐藏的

【问题讨论】:

    标签: jquery asp.net html asp.net-mvc-3


    【解决方案1】:

    尝试这样将其标记为已选中:

    $("#realCheck").attr("checked", "checked");
    

    像这样取消选中它:

    $("#realCheck").removeAttr("checked");
    

    【讨论】:

      【解决方案2】:

      来自 jQuery 文档prop。如果您使用的是 jQuery 1.6+

      应该使用 .prop() 方法来设置禁用和检查,而不是 .attr() 方法。 .val() 方法应该用于获取和设置值。

      $("#realCheck").prop("checked", true);
      $("#realCheck").prop("checked", false);
      

      在此处阅读有关使用 .prop 与使用 .attr 的更多信息 .prop() vs .attr()

      【讨论】:

        【解决方案3】:

        Checkeddisabled 一样,是二进制属性,而不是属性。你需要使用:

        $("#realCheck").attr("checked", "checked");
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-05-23
          • 2021-09-22
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多