【问题标题】:Extracting value of a checkbox with Javascript?用Javascript提取复选框的值?
【发布时间】:2012-07-28 13:58:44
【问题描述】:

我正在构建一个包含很多复选框的动态表单。由于表单的复杂性,普通的表单提交是不合适的,并且由于表单意味着一次对多个用户有效,我正在做的是在序列化之前提取表单值并将它们存储在 JavaScript 对象中它们作为要在服务器端发送和处理的批量数据。

到目前为止效果很好,但我遇到了复选框输入的问题。尽管没有被选中,它们的value 属性总是从$('input[name=checkbox_name]').val(); 返回,不管复选框是否被实际选中。

到目前为止,我已尝试通过以下方式解决此问题:

  • 添加默认值以外的值(on
  • 添加checked 属性,但我不完全确定哪些值有效,哪些无效;例如,使用 Google Chrome 的控制台,我添加了一个 checked="checked" 属性/值,它应该实时选中该框,但它没有
  • 根据http://bit.ly/MLxCht,在复选框输入之前放置一个具有与value=0 复选框相同name 属性的隐藏输入元素

非常感谢任何详细说明我如何提取复选框的当前值(未选中/选中)的答案。

【问题讨论】:

标签: javascript jquery html forms checkbox


【解决方案1】:

而不是其他人的建议,为什么不只是:

$('input[name=your_name]:checked')

【讨论】:

  • 那更像是.filter(':checked')。 (嗯,完全一样。)
【解决方案2】:
$('input[name=checkbox_name]').prop('checked')

(为了简洁,也可以使用.is(':checked'),但速度较慢。)

【讨论】:

    【解决方案3】:

    试试:

    $('input[name=your_name]').is(':checked');
    

    得到实际检查或不值

    【讨论】:

      【解决方案4】:

      试试这个

      $(...).is(":checked")
      

      $(...).attr('checked')
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-29
        相关资源
        最近更新 更多