ここに示すように機能する次のコードがあります。http://jsfiddle.net/rBd53/12/
1つのファイルのHTML/JSコード:
<script type="text/javascript">
var textBlocks = new Array(
'Select from the list to change this box',
'Text block two',
'Text block three');
function changeText(form) {
var ind = form.qwer.selectedIndex;
document.getElementById("display").innerHTML=textBlocks[ind];
}
</script>
<form>
<select name="qwer" onChange="changeText(this.form);">
<option value="0">Select</option>
<option value="1">One</option>
<option value="2">Two</option>
</select>
<br>
<div id="display">Select from the list to change this box</div>
</form>
CakePHP 1.3で正しく動作するようにこのコードを変更するにはどうすればよいですか?test_js.js
下にファイルを作成し、app/webroot/js
その<script>...</script>
部分をそこに配置しました。私もecho $scripts_for_layout;
にapp/views/layouts/default.ctp
い<head>
ます。
要素(.ctp)ファイルの内容が正しくないと推測しています。ドロップダウンメニューと下のテキストが表示されますが、選択したオプションに応じてテキストが動的に変更されることはありません。私は次のことをしました。
<?php echo $this->Html->script('test_js', array('inline'=>false)); ?>
<form>
<select name="qwer" onChange="changeText(this.form);">
<option value="0">Select</option>
<option value="1">One</option>
<option value="2">Two</option>
</select>
<br>
<div id="display">Select from the list to change this box</div>
</form>