CakePHP2のFormHelperで作成したinput要素を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\\]]")
で、指定できます。
[
と]
をバックスラッシュ二つでエスケイプするのがミソです。