「参考ソース」カテゴリーアーカイブ

セレクトを選択し内容を変更

http://www.tagindex.com/javascript/form/comp2b.html
設計図

bootstrap.ctp

[php]
<!–bootstrap.ctp–>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
[/php]

View

[php]
<?php echo $this->BootstrapForm->input(‘lecture_id’,array(‘options’=>$lecture_id)); ?>
<div id="ajaxsnum"></div>
<?php
$this -> Html -> script( ‘jquery-1.7.2.min’, array( ‘inline’ => false ) );
?>
<?php
$this->Html->scriptStart(array(‘inline’=>false));
?>
$(function(){
$("#UserLectureId").change(function() {
$.post(
"<?php echo $this->html->url(‘/Users/ajaxsnum’) ?>",
{lecture_id : $(‘#UserLectureId option:selected’).val()}, //valを取る textも取れるよ
function(data){
$("#ajaxsnum").html(data);
}
);
});
});
<?php
$this->Html->scriptEnd();
?>
[/php]

View(ajaxsnum.ctp)

[php]
<?php
echo $this->BootstrapForm->input(‘Number’, array(‘label’ => ‘numbers’,’multiple’ => ‘checkbox’));
?>
<div>
<?php echo $this->BootstrapForm->submit(__(‘Submit’));?> //Submitをこっちにしたら保存出来たよ
</div>
[/php]

Controler

[php]
public $helpers = array(‘TwitterBootstrap.BootstrapHtml’, ‘TwitterBootstrap.BootstrapForm’, ‘TwitterBootstrap.BootstrapPaginator’,’Js’,’Html’);
//——————————————————————————–
// ajaxソースコード
//——————————————————————————–
public function ajaxsnum(){
$this->layout = ‘ajax’;
//debug($this->request);
$numbers = $this->User->Number->find(‘list’, array(
//’conditions’=>array(‘lecture_id’ => $this->request->data[‘lecture_id’]),
));
$this->set(compact(‘numbers’));
}
[/php]

edit.ctp

[php]
$data = $this->User->findById($id);
$numbers = $this->User->Number->find(‘list’, array(
‘conditions’=>array(‘Number.lecture_id =’ =>$data[‘User’][‘lecture_id’]),
));
$this->set(compact(‘numbers’));
[/php]

Form

[php]
<?php App::import(‘Sanitize’); ?>
<h1>送信フォーム・サンプル</h1>
<?php echo $form->create(null,array(‘type’=>’post’,’action’=>’.’)); ?>
<?php echo Sanitize::stripScripts($form->value(‘HelloForm.text1’)); ?><br />
<?php echo $form->text(‘HelloForm.text1’); ?><br />
<?php echo Sanitize::stripScripts($form->value(‘HelloForm.radio1’)); ?><br />
<?php echo $form->radio("HelloForm.radio1",
array(‘男性’=>’男性’,’女性’=>’女性’,’両性’=>’両性’),
array(‘legend’=>’性別を選択’)); ?><br />
<?php echo Sanitize::stripScripts($form->value(‘HelloForm.select’)); ?><br />
<?php echo $form->select(‘HelloForm.select1’,
array(‘未成年’=>’未成年’,’社会人’=>’社会人’,’その他’=>’その他’),null,
array(‘size’=>4,’empty’=>’※項目を選択’),true); ?>
<?php echo $form->end("送信"); ?>
[php]
[php]
<?php echo $form->create(null,array(‘type’=>’post’,’action’=>’.’));
echo "</pre>";
print_r($form->value(‘HelloForm.date’));
echo "</pre>";
echo "<br/>";
echo $form->dateTime(‘HelloForm.date’,’YMD’);
echo $form->end("送信");
?>
[/php]
[php]
<?php /*?>
<?php echo $form->create(null,array(‘type’=>’post’,’action’=>’.’)); ?>
<?php echo $form->text("HelloForm.text1"); ?>
<?php echo $form->checkbox("HelloForm.check1",array(‘checked’=>true)); ?>checkbox
<?php */?>
[/php]
[php]
<!–チェックボックス–>
<?=$form->create(null,array(‘type’=>’post’,’action’=>’.’)) ?>
<?=$form->checkbox("HelloForm.check1",array(‘checked’=>true)) ?>
<?=$form->label(‘HelloForm.check1’) ?>
<?=$form->end("送信") ?>
<!–チェックボックス_end–>
[/php]
[php]
<?=$form->create(null,array(‘type’=>’post’,’action’=>’.’)) ?>
<?=$form->textarea("HelloForm.check1",array(‘checked’=>true)) ?>
<?=$form->label(‘HelloForm.check1’) ?>
<?=$form->end("送信") ?>
[/php]
[php]
<!–テキストエリア–>
<?=$form->create(null,array(‘type’=>’post’,’action’=>’.’)) ?>
<?=$form->password("HelloForm.check1",array(‘checked’=>true)) ?>
<?=$form->label(‘HelloForm.check1’) ?>
<?=$form->end("送信") ?>
<!–テキストエリ_end–>
[/php]
[php]
<!–フォームタグ–>
<?php echo $form->create(null,array(‘type’ => ‘post’, ‘action’ => ‘.’)); ?>
<?php echo $form->radio("HelloForm.radio1",array(‘ウインドウズ’=>’Windows’,’リナックス’=>’Linux’,’マックOS’=>’MacOS X’),
array(‘legend’=>’OSを選択’,’value’=>’リナックス’)); ?>
<?php echo $form->end("送信"); ?>
<!–フォームタグ_end–>
[/php]
[php]
<!–セレクトフォームタグ01–>
<?php echo $form->create(null,array(‘type’ => ‘post’, ‘action’ => ‘.’)); ?>
<?php echo $form->select("HelloForm.radio1",array(‘ウインドウズ’=>’Windows’,’リナックス’=>’Linux’,’マックOS’=>’MacOS X’),
array(‘legend’=>’OSを選択’,’value’=>’リナックス’)); ?>
<?php echo $form->end("送信"); ?>
<!–フォームタグ_end–>
[/php]
[php]
<!–セレクトフォームタグ02–>
<?php echo $form->create(null,array(‘type’ => ‘post’, ‘action’ => ‘.’)); ?>
<?php echo $form->select("HelloForm.radio1",array(‘ウインドウズ’=>’Windows’,’リナックス’=>’Linux’,’マックOS’=>’MacOS X’),’リナックス’,
array(‘size’=>4,’empty’=>’項目を選んでください’),true); ?>
<?php echo $form->end("送信"); ?>
<!–フォームタグ_end–>
[/php]
[php]
<?php
// optionだけに属性を付ける時
$arr = array(
array(‘name’ => ‘PHP’, ‘value’ => ‘1’, ‘style’ => ‘color: #0000ff;’),
array(‘name’ => ‘Java’, ‘value’ => ‘2’, ‘style’ => ‘color: #0000ff;’),
array(‘name’ => ‘Ruby’, ‘value’ => ‘3’, ‘style’ => ‘color: #0000ff;’),
);
echo $this->Form->input(‘Book.id’, array(‘type’ =>’select’, ‘options’ => $arr, ‘style’ => ‘color: #ff0000’));

?>
[/php]