JQuery复选框状态不起作用

时间:2013-01-03 00:34:49

标签: javascript jquery

谁能告诉我为什么这条线不起作用? (我正在尝试访问复选框的value属性并将其写入我的变量,否则如果未检查为空字符串)

var ri_ort = $('#ri_ort').attr('checked')?$('#ri_ort').val():'';

很多

3 个答案:

答案 0 :(得分:2)

尝试is

var ri_ort = $('#ri_ort').is(':checked') ? $('#ri_ort').val() : '';

答案 1 :(得分:1)

在jQuery中,您可以使用checked方法检查disabledprop等属性:

$('#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,您应该使用propis方法:

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 : '';
   })
})