0

jQuery を使用して属性の値を変更したいのですreadonlyが、このコードは機能しません。

$('#L1E').live('change',function() {
  $('.hidden').attr('readonly',''); 
  return false;  
});

誰も理由を知っていますか?

4

2 に答える 2

2

.live() は廃止されたため、.live の代わりに .on (jQuery 1.7+) 委任を使用する必要があります。読み取り専用プロパティを設定するには、.prop (jQuery 1.6+) メソッドも使用する必要があります。

$('body').on('change','#L1E', function() {
    v = $('.hidden').prop('readonly')
    if (v) {
        $('.hidden').prop('readonly', false);
        alert(v);
    }
    else {
        $('.hidden').prop('readonly', true);
        alert(v);
    }    
    return false;
});​

http://jsfiddle.net/rMnx3/

于 2012-11-14T20:07:27.387 に答える
1

読み取り専用属性を削除するには、removeAttr を使用する必要があります。

$('.hidden').removeAttr('readonly');
于 2012-11-14T20:07:26.357 に答える