$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>