谁能告诉我为什么这条线不起作用? (我正在尝试访问复选框的value属性并将其写入我的变量,否则如果未检查为空字符串)
var ri_ort = $('#ri_ort').attr('checked')?$('#ri_ort').val():'';
很多
答案 0 :(得分:2)
尝试is
:
var ri_ort = $('#ri_ort').is(':checked') ? $('#ri_ort').val() : '';
答案 1 :(得分:1)
在jQuery中,您可以使用checked
方法检查disabled
和prop
等属性:
$('#ri_ort').prop('checked'); // returns true or false
prop
也可用于设置值:
$('#ri_ort').prop('checked', false); // removes the `checked` attribute
以下是一个示例:http://jsfiddle.net/BeKa4/1/
答案 2 :(得分:1)
从jQuery 1.6开始,attr
方法不返回布尔值,返回undefined
,您应该使用prop
或is
方法:
var $elem = $('#ri_ort');
var ri_ort = $elem.prop('checked') ? $elem.val(): '';
或者,如果您想收听更改事件:
$(function() {
var ri_ort = '';
$('#ri_ort').change(function(){
ri_ort = this.checked ? this.value : '';
})
})