2010年4月4日日曜日

jQueryでセレクトリストの選択を解除する。

jQueryでどのコードが書けるのかが度々わからなくなっちゃうので、備忘録。

フォームからトランザクションを投げた後に、フォームの内容をクリアーしたいんだけど・・・
どうやったらいいかよくわからなかっちゃったけど、試した結果はとっても簡単でした。
// html
<select id='item'>
  <option value='1'>1111</option>
  <option value='2' selected>2222</option>
</select>

// javascript
$('#item').children().removeAttr('selected');


もちろん、以下の様な方法も可能。

$('#item').children().each(
  function(i){
    $(this).removeAttr('selected')
  }
);


「行数が増える事」「内部処理的にあまりかわらない事」を考えると前者の方は1行で済むので優秀。

2010年4月1日木曜日

本日

本日

01:30 出勤
11:30 退勤

16:30 出勤予定

なんで僕だけエイプリルフールじゃないの

2010年3月6日土曜日

TSUTAYA DISCASの回転率

僕は以前(2年くらい前かな)からTSUTAYA DISCASサービスを利用して、
DVDのレンタルをしています。

DVDのレンタルは・・・札幌にいた頃は、1枚100円レンタルの日に5枚くらいを借りていたのですが、
こっちに来た当初は、レンタル価格が思ったよりも高く、レンタル屋に行くにも電車に乗っていくから、あまり安くならない事にも気づき、行く事はなかったのですが・・・

DISCASサービスに出会ってからは、よく利用するようになりました。


このサービス、月2000円なのですが、貧乏症の私は1枚100円の単価は上げたくない。


そうすると、月に20枚弱のDVDを借りるのが目安。

サービスとしては、1回に2枚借りる事になるので、月に10回転。

そうすると、3日で1回転させる事になるのですが、
これがなかなか難しい。

郵便事情と社会人的な事情を考えると、最速で4日が限度。
一番うまくいったときでも16回転が限度でした。

ですが、最近はどうにも3回転くらいがやっとです。

なんか損した気分。

2010年3月4日木曜日

jqueryのダイアログ上からdatepickerを実行する。

また、jqueryでプチはまりました。

jquery uiのdialogで表示されたダイアログ上にフォームを配置して、
そのフォーム上からデータのやり取りをしようと、パーツを配置していったのですが・・・datepickerを配置してもどうにも表示されない。

firebugでちょっと調べたところ、
モーダルダイアログの背景レイヤーにz-indexの1000、
ダイアログ自体にz-indexの1001が設定されておりました。

datepicker自体にはz-indexの指定が無いため、
必然的に発生元となるダイアログよりも下層のレイヤーとなる為に表示されなかった模様です。

ネット調べてみると、dateickerに指定されているスタイルシートクラス「.ui-datepicker」にz-indexをつけて、非常に大きな値を設定する方法が紹介されていましたが、

私の性分として、その時々で決めた「決めうち数値」のルールは、
後から忘れてしまう事が多いので、あまり使いたく有りません。

なので簡単なスクリプトを書くです。
$('#date-input').datepicker({
  beforeShow: function(input, inst){
    $('#ui-datepicker-div')
      .css(
        'z-index',
        parseInt($($(input).parents('.ui-dialog').get(0)).css('z-index')) + 1
      );
  }
});


日本語で略して書くと
「datepickerが配置されているinputアイテムの上位にあるdialogのz-indexの値を調べて、+1した状態で表示する。」です。

dialogの上からdialogを表示してその上にdatepickerを配置する場合も一応ok。
できない場合は、「parents('.ui-dialog').get(0)」のgetの引数を変えてみるといいかも。
「0」指定で、一つ上のdialogが引っ張って来れるはず。

あと、「css('z-index')」で引っ張ってきた値は文字列なので、数値化する必要がある。

2010年2月19日金曜日

phpのsettype関数にぷちはまり

久しぶりにphpにはまりました。

実は構文チェックエンジンを作成してまして、
文書中の"true""false"という文字列を、ブール型のTRUEFALSEとして評価しなきゃいけない機会が発生しました。

ここで私は、settype関数を利用しました。
settype関数は第1引数の変数を第2引数で渡した型文字列で変換するというモノです。
settype(検査したい変数, 変換させたい型)
php:settype

変換に利用できる第2引数には以下が指定できます。
(この時、文字列で指定しなければならないので、クォートします。)
"boolean" or "bool"
"integer" or "int"
"float" or "double"
"string"
"array"
"object"
"null"

今回はブール型に変換したいので"boolean"を指定します。
ですが結果は以下のようになってしまいました。
$item_true = 'true';
$item_false= 'false';

settype($item_true, 'boolean');
settype($item_false, 'boolean');

var_dump($item_true); // boolean true と表示される
var_dump($item_false); // boolean true と表示される


ここで、"boolean" を "bool" に変更しても結果は同じ・・・

そしておかしさに気づいたのですが、上記の $item_true に適当な文字列を突っ込んでみても、boolean true に変換されてしまうのです。


これはと思って以下のように変更!

$item_true = '1';
$item_false= '0';

settype($item_true, 'boolean');
settype($item_false, 'boolean');

var_dump($item_true); // boolean true と表示される
var_dump($item_false); // boolean false と表示される


やっぱり!

phpのtruefalseはdefine定義で1, 0を表しているようなもんだから、変換の時は、1,0を元に評価してしまうのですね。わかります。


元々の目的は構文チェックエンジンの作成なので、
そういうことだったら、以下の記述で十分
$item = 'true';
if($item == 'true' || $item == 'TRUE')
{
  $result = true;
}
else
{
  $result = false;
}

var_dump($result); // boolean true と表示される

2010年2月15日月曜日

厄払い



先日14日に、西新井大師まで厄払いに行ってきましたー。

本当は年始に行こうと思っていたんですが、乗り遅れちゃったので旧正月に合わせていってきました。

お札買って、おみくじも引きました。
おみくじは久しぶりの大吉です!




ただ、何となく体がだるいのはなぜでしょうか・・・風邪をもらってきたかも・・・

2010年1月21日木曜日

PEACE MAKER見た

http://新撰組peacemaker.jp/

なんか違和感。

最初はアニメ化されたときに見てたから、
実写との違和感を感じてたんだと思ってたんだけど、

それもなんか違うなぁと・・・


何が違うかっていうのがさっきわかったんだけど、
このドラマって、お腐さん向けの臭いがぷんぷんすんだよね。


ボクは歴史大好き父さんの影響で、
おっさん向けのテイストで洗脳されてるっぽい。


だから、史実は別にしても「新撰組の隊士はこんな感じ」っていう小説やドラマで
デファクトスタンダードにされている人物像がベースになっちゃって、

漫画という形で、今までの古い常識にメスをいれた上で、
さらにドラマ化っていうと、ボクの知っているものとは全く別になってる上に、
歴史物はなるべく史実に沿って欲しいなんて思ってるもんだから、
やっぱり違和感は感じるなぁ。