Jquery的api中提供了對元素應用disabled和readonly屬性的方法如下:
1.readonly
$('input').attr("readonly","readonly")//將input元素設定為readonly $('input').removeAttr("readonly");//去除input元素的readonly屬性 if($('input').attr("readonly")==true)//判斷input元素是否已經設定了readonly屬性 對於為元素設定readonly屬性和取消readonly屬性的方法還有如下兩種: $('input').attr("readonly",true)//將input元素設定為readonly $('input').attr("readonly",false)//去除input元素的readonly屬性 $('input').attr("readonly","readonly")//將input元素設定為readonly $('input').attr("readonly","")//去除input元素的readonly屬性
2.disabled
$('input').attr("disabled","disabled")//將input元素設定為disabled $('input').removeAttr("disabled");//去除input元素的disabled屬性 if($('input').attr("disabled")==true)//判斷input元素是否已經設定了disabled屬性 對於為元素設定disabled屬性和取消disabled屬性的方法還有如下兩種: $('input').attr("disabled",true)//將input元素設定為disabled $('input').attr("disabled",false)//去除input元素的disabled屬性 $('input').attr("disabled","disabled")//將input元素設定為disabled $('input').attr("disabled","")//去除input元素的disabled屬性
3.關於checkbox的(checkbox看是否為一組是用name值相同來判斷的)
因為checkbox本身並沒有提供readonly方法,而用了disabled會變成灰色,所以找了倆個方法
方式一:checkbox沒有readOnly屬性,如果使用disabled=“disabled”屬性的話,會讓checkbox變成灰色的,使用者很反感這種樣式可以這樣讓它保持唯讀:設定它的onclick="return false" js裡就是 checkbox.onclick=function(){return false;}; 方式二:<script src="Demo3.1/jquery-1.4.2.min.js" type="text/javascript"></script><script language="javascript"> $(function(){ $("input[type='checkbox']").click( function(){ this.checked = !this.checked; } );});</script>
4.關於select設定唯讀
這個還是使用disabled的吧,沒有找到類似checkbox這種方案,取值只好用hidden了