0

この行が機能しない理由を誰か教えてもらえますか? (チェックボックスの値プロパティにアクセスして変数に書き込もうとしています。空の文字列がチェックされていない場合)

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

jQuery では、次のメソッドcheckeddisabled使用して属性を確認できます。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 以降、attrmethod はブール値を返さず、 を返します。代わりにorメソッド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 : '';
   })
})
于 2013-01-03T00:44:29.413 に答える