如果选中该复选框,那么我只需要将值设为1;否则,我需要将其设为0.如何使用jQuery执行此操作?
在这种情况下, $("#ans").val()
总是给我一个权利:
<input type="checkbox" id="ans" value="1" />
答案 0 :(得分:986)
使用.is(':checked')
确定是否已选中,然后相应地设置您的值。
答案 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;