首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用jQuery将复选框作为1/0的值

问用jQuery将复选框作为1/0的值
EN

Stack Overflow用户
提问于 2013-11-05 12:10:44
回答 4查看 23.6K关注 0票数 12

我想用jQuery获取所有输入字段的值。我可以用下面的代码来做这件事。但是,如果输入字段是复选框,并且被选中,它将返回"on“。如果选中,如何获得作为1的值?

jQuery:

代码语言:javascript
复制
$('button').click(function() {

    inputs = $('.input');
    inputs.each(function() {
        var value = $(this).val();  
        alert(value);
    }); 

});

HTML:

代码语言:javascript
复制
<input type="text" class="input" />
<input type="text" class="input" />
<input type="checkbox" class="input">

<button>Get values<button>

演示: http://jsfiddle.net/yDKdT/

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-11-05 12:13:46

您需要检查元素的类型是否等于checkbox。

代码语言:javascript
复制
if( $( this ).attr( 'type' ) === 'checkbox' ) {
    value = +$(this).is( ':checked' );
}

提示:+符号将布尔值转换为整数:1/0

见更新的jsFiddle

票数 34
EN

Stack Overflow用户

发布于 2013-11-05 12:13:15

使用.is(':checked')而不是获取值。这将以布尔值的形式返回它,而不是勾选"on“。

票数 1
EN

Stack Overflow用户

发布于 2013-11-05 12:18:06

你可以试试这个。

代码语言:javascript
复制
$('button').click(function() {

    inputs = $('.input');
    inputs.each(function() {
        var value;
        if( $( this ).attr( 'type' ) === 'checkbox' ) {
            value = $(this).is( ':checked' ) ? 1: 0;
        }else
        {
            value = $(this).val();
        }
        alert(value);
    }); 

}); 

演示

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19788689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档