2011-09-15 15 views
3

私はフォームがあるページを持っています。私はすべてのチェックボックスとラジオボタンをページの読み取り専用(非編集可能)にして、それらが「無効」の外観にならないようにしたいと思います。私はちょうどユーザーがチェックボックスの値を簡単に変更できないようにしたい。これはどうすればできますか?無効になっていないJqueryの読み取り専用チェックボックス?

答えて

8

これはおそらくそれを行うにはクリーンな方法です:

var deactivator = function(event){ event.preventDefault(); }; 

$(':radio, :checkbox').click(deactivator); 

そして再度有効に彼らに:

$(':radio, :checkbox').unbind('click',deactivator); 
4

あなたは、すべてのチェックボックスとラジオボタンのクリックイベントハンドラにpreventDefaultを使用することができます:

$(":checkbox, :radio").click(function(e) { 
    e.preventDefault(); 
}); 

ここにはworking exampleがあります。

0

別の解決策がある要素の投稿を防止していない間、あなたは要件では、唯一の特定のチェックボックスと相互作用する能力を有効または無効にする場合:

if (interaction === true){ 
    $('#elID').click(false); 
} else { 
    $('#elID').unbind('click'); 
}