测试是否使用jQuery选中了复选框

时间:2011-01-27 05:59:53

标签: javascript jquery checkbox jquery-selectors

如果选中该复选框,那么我只需要将值设为1;否则,我需要将其设为0.如何使用jQuery执行此操作?

在这种情况下,

$("#ans").val()总是给我一个权利:

<input type="checkbox" id="ans" value="1" />

20 个答案:

答案 0 :(得分:986)

使用.is(':checked')确定是否已选中,然后相应地设置您的值。

More information here.

答案 1 :(得分:206)

$("#ans").attr('checked') 

会告诉你它是否被检查过。您还可以使用第二个参数true / false来选中/取消选中复选框。

$("#ans").attr('checked', true);

根据评论,如果可用,请使用prop代替attr。 E.g:

$("#ans").prop('checked')

答案 2 :(得分:88)

只需使用$(selector).is(':checked')

即可

返回一个布尔值。

答案 3 :(得分:54)

// use ternary operators
$("#ans").is(':checked') ? 1 : 0;

答案 4 :(得分:20)

Stefan Brinkmann的答案非常好,但对于初学者来说是不完整的(省略了变量赋值)。只是为了澄清:

// this structure is called a ternary operator
var cbAns = ( $("#ans").is(':checked') ) ? 1 : 0;

它的工作原理如下:

 var myVar = ( if test goes here ) ? 'ans if yes' : 'ans if no' ;

示例:

var myMath = ( 1 > 2 ) ? 'yes' : 'no' ;
alert( myMath );

提醒'不'

如果这有帮助,请提升Stefan Brinkmann的答案。

答案 5 :(得分:17)

你可以试试这个:

$('#studentTypeCheck').is(":checked");

答案 6 :(得分:15)

之前我发现了同样的问题, 希望这个解决方案可以帮到你。 首先,在您的复选框中添加自定义属性:

<input type="checkbox" id="ans" value="1" data-unchecked="0" />

编写一个jQuery扩展来获取值:

$.fn.realVal = function(){
    var $obj = $(this);
    var val = $obj.val();
    var type = $obj.attr('type');
    if (type && type==='checkbox') {
        var un_val = $obj.attr('data-unchecked');
        if (typeof un_val==='undefined') un_val = '';
        return $obj.prop('checked') ? val : un_val;
    } else {
        return val;
    }
};

使用代码获取复选框值:

$('#ans').realVal();

你可以测试here

答案 7 :(得分:7)

$('input:checkbox:checked').val();        // get the value from a checked checkbox

答案 8 :(得分:6)

您也可以使用:

$("#ans:checked").length == 1;

答案 9 :(得分:6)

<input type="checkbox" id="ans" value="1" />

Jquery:   var test= $("#ans").is(':checked') 它会返回true或false。

在你的功能中:

$test =($request->get ( 'test' )== "true")? '1' : '0';

答案 10 :(得分:4)

使用:

$("#ans option:selected").val()

答案 11 :(得分:4)

有几种选择......

 1. $("#ans").is(':checked') 
 2. $("#ans:checked")
 3. $('input:checkbox:checked'); 

如果所有这些选项都返回true,那么您可以按比例设置值。

答案 12 :(得分:4)

function chkb(bool){
if(bool)
return 1;
return 0;
}

var statusNum=chkb($("#ans").is(':checked'));
如果选中复选框,

statusNum将等于1,如果不是,则为0。

编辑:您也可以将DOM添加到该函数中。

function chkb(el){
if(el.is(':checked'))
return 1;
return 0;
}

var statusNum=chkb($("#ans"));

答案 13 :(得分:3)

我最近遇到了一个案例,当用户点击按钮时,我需要勾选复选框的值。唯一正确的方法是使用prop()属性。

var ansValue = $("#ans").prop('checked') ? $("#ans").val() : 0;

这在我的案例中有用,也许有人会需要它。

当我尝试.attr(':checked')时,它返回了checked,但我想要布尔值,.val()返回属性value的值。

答案 14 :(得分:2)

试试这个

$('input:checkbox:checked').click(function(){
    var val=(this).val(); // it will get value from checked checkbox;
})

如果选中则为false,则此标志为true

var flag=$('#ans').attr('checked');

再次这将使cheked

$('#ans').attr('checked',true);

答案 15 :(得分:0)

你可以通过这两种方法获得价值(真/假)

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        connect_socket();
        Intent intent = getIntent();
        phone_num = intent.getStringExtra("phone_num");
        send(phone_num);
}

答案 16 :(得分:0)

如果您想要检查或不检查整数值,请尝试:

$("#ans:checked").length

答案 17 :(得分:0)

首先检查值是否已选中

$("#ans").find("checkbox").each(function(){
    if ($(this).prop('checked')==true){ 
    var id = $(this).val()
    }
});

否则设置 0

答案 18 :(得分:0)

您可以通过以下方式执行它:

$('input[id=ans]').is(':checked');     

答案 19 :(得分:0)

 $("#id").prop('checked') === true ? 1 : 0;