2012年5月31日木曜日

フォームパーツのdisabled設定

  • このエントリーをはてなブックマークに追加

フォームパーツ(inputとかselectなど)を見えるけれども、
触ってはいけない状態にしたいなぁと思って、メソッドを作ってみた。
関数だとなんか見づらいし。
ということでコードは↓。

$.fn.extend({
  disable:function(){
    return this.each(function(){
      this.setAttribute("disabled","disabled");
    });
  },
  able:function(){
    return this.each(function(){
      this.removeAttribute("disabled");
    });
  }
});

本来ならばネイティブコードで書くのではなく、
jQueryのattr("disabled","disabled")とかremoveAttr("disabled")みたいな感じで、
書こうと思ってたけどなぜかIE7で動かず。
ということでsetAttributeとremoveAttributeを使ってみた。

ちなみに使用例としては↓のような感じ。

$('[name="num_field"]').disable();
$('[name="num_field"]').able();

Adsense