如果复选框被选中,那么我只需要得到值为1;否则,我需要得到它为0。我如何使用jQuery做到这一点?
$("#ans").val()在这种情况下总是会给我一个right:
<input type="checkbox" id="ans" value="1" />
如果复选框被选中,那么我只需要得到值为1;否则,我需要得到它为0。我如何使用jQuery做到这一点?
$("#ans").val()在这种情况下总是会给我一个right:
<input type="checkbox" id="ans" value="1" />
当前回答
有几个选项,如....
1. $("#ans").is(':checked')
2. $("#ans:checked")
3. $('input:checkbox:checked');
如果所有这些选项都返回true,那么您可以相应地设置值。
其他回答
我以前也发现过同样的问题 希望这个解决方案能帮助到你。 首先,在复选框中添加一个自定义属性:
<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();
你可以在这里测试
你可以通过这两种方法得到值(true/false)
$("input[type='checkbox']").prop("checked");
$("input[type='checkbox']").is(":checked");
首先检查值是否被检查
$("#ans").find("checkbox").each(function(){
if ($(this).prop('checked')==true){
var id = $(this).val()
}
});
否则设置为0值
@StefanBrinkmann的回答很好,但对初学者来说不完整(省略了变量赋值)。澄清一下:
// 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 );
提示“不”
<input type="checkbox" id="ans" value="1" />
Jquery: Var test= $("#ans").is(':checked') 它返回true或false。
在你的职责范围内:
$test =($request->get ( 'test' )== "true")? '1' : '0';