$this->Form->chckbox()のオプション
echo $this->Form->checkbox('hoge',array('label'=>'hoge'));
と書いた時以下のように出力される。
この時チェックされなかった時に値が"0"となるようにする仕掛けhiddenが要らない時
optionsに'hiddenField'=>false入れておくとこれが表示されない。
[web] cacerts=C:\Users\username\cacert-root.crt
オブジェクトや配列からJSON文字列に変換するには JSON.stringify() を使う JSON.stringify(value, replacer, space) value オブジェクトや配列 replacer space 入れ子の構造のインデント値、整形して表示するような時に使用する。 通常のJSON文字列にする場合は指定しない。 ここにスペースを入れておくと、phpのvar_dump()ようにインデントする。 JSON文字列からオブジェクトに変換するには JSON.parse()を使う JSON.parse(text, ) text reviver
function printProperties(obj) {
var properties = '';
for (var prop in obj){
properties += prop + "=" + obj[prop] + "\n";
}
document.write(properties);
}
<input class="category" type="radio" name="category" value="1" />携帯 <input class="category" type="radio" name="category" value="2" />スマートフォン <div id="category_select"> </div>
<script>
$(document).ready(function(){
function displayVals() {
var singleValues = $('input[name="category"]:checked').val()
if(singleValues == 2){
$("#category_select").css("display","block");
}else{
$("#category_select").css("display","none");
}
}
$('input[name="category"]:radio').change(displayVals);
displayVals();
});
</script>
<?php
echo $form->input('category', array(
'type'=>'radio',
'legend' => false,
'label'=> true,
'class'=>'category',
'options'=>array('1'=>'携帯', '2'=>'スマートフォン'),
));
?>
このようにViewを書くとname部分が"data[Mobile][category]"になってしまい<div class="input radio"> <input type="hidden" name="data[Mobile][category]" id="MobileCategory_" value="" /> <input type="radio" name="data[Mobile][category]" id="MobileCategory1" class="category" value="1" /> <label for="MobileCategory1">携帯</label> <input type="radio" name="data[Mobile][category]" id="MobileCategory2" class="category" value="2" /> <label for="MobileCategory2">スマートフォン</label> </div>
<script>
$(document).ready(function(){
function displayVals() {
var singleValues = $('input[name="data\[Mobile\]\[category\]"]:checked').val()
var defined = 0;
if(singleValues == 2){
$("#category_select").css("display","block");
}else{
$("#category_select").css("display","none");
}
}
$('input[name="data\[Mobile\]\[category\]"]:radio').change(displayVals);
$(window).load(function () { displayVals();});
});
</script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jqueryAutoHeight.js"></script>
<script type="text/javascript">
jQuery(function($){
$(揃えたいセレクタ).autoHeight();
});
</script>