読者です 読者をやめる 読者になる 読者になる

blogですかい

株式会社Loco Partnersに勤めるエンジニアうちの一人のブログ。仕事、プライベートで学んだことなどを発信し、その内容がたとえ少数でも誰かの役に立ったらなら、それはとっても嬉しいなって

CakePHP2のFormHelperで作成したinput要素をjQueryで指定する方法

CakePHP2 jQuery

CakePHP2のFormHelperでフォームを作成すると、例えば

<?php
echo $this->Form->create('Model');
echo $this->Form->text('text');
echo $this->Form->end();

から

<form action="/" id="ModelIndexForm" method="post" accept-charset="utf-8">
  <div style="display:none;"><input type="hidden" name="_method" value="POST"/></div>
  <input name="data[Model][text]" type="text" id="ModelText"/>
</form>

というHTMLが出力されます。

と、書いていて気づいたのですが、ヘルパーがidを勝手につけてくれるんですね・・・
name属性で指定する方法を書こうと思ったのですが・・・

id属性が付いているので、jQueryでは$('#ModelText')といった感じで、このinput要素を指定できます、はい。

もし、宗教上の理由などでidを指定できない場合は

$("[name=data\\[Model\\]\\[text\\]]")

で、指定できます。
[]をバックスラッシュ二つでエスケイプするのがミソです。