0

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

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

多谢

4

3 回答 3

2

尝试is

var ri_ort = $('#ri_ort').is(':checked') ? $('#ri_ort').val() : '';
于 2013-01-03T00:36:14.710 回答
1

checked在 jQuery 中,您可以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/

于 2013-01-03T00:43:04.153 回答
1

从 jQuery 1.6 开始,attr方法不返回布尔值,它返回undefined,你应该使用proporis方法来代替:

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 : '';
   })
})
于 2013-01-03T00:44:29.413 回答