前提・実現したいこと
cakephp.html.javascript.css.knockout.jsを使ってwebソフトを作っています。
その中に、セレクトボックスとチェックボックスがセットの項目があります。
セレクトボックスで「資格別平均」が選択されているときにチェックボックスをチェックできる状態に、その他の項目が選択されている状態ではチェックボックスを全て外したうえでチェックできない状態にしたいです。
チェックボックスを全て外す機能はすでにできているのですが、チェックできない状態にする機能がうまくできません。
チェックボックスが選択されたとき、「self.EstimationDocument.totalCost.checkBoxOut」が実行され、セレクトボックスが「資格別平均」以外の時はチェックボックスが外れるように組んだのですが、現時点ではチェックを点けることが出来てしまいます。
該当のソースコード
html
1<li class="line top_blank_line"> 2 <label>ドライバー人件費</label> 3 4 <?php echo $this->Form->input('driver_labor_costs_list', array('class' => 'right_alignment select_width', 'type' => 'select', 'options' => $driver_labor_costs_list, 'data-bind' => 'value: EstimationDocument.totalCost.driverLaborCosts, event: {change: function(){EstimationDocument.variableCost.getSalary(); EstimationDocument.totalCost.checkBoxOut();}}')); ?> <span class="two_gap"></span> 5 </li> 6 <li class="line bottom_blank_line"> 7 <span class="right_alignment">(</span><input id="large" class="checkbox license" type="checkbox" value="<?php echo $license_list['大型'] ?> " data-bind = 'event: {change: function(){EstimationDocument.variableCost.getSalary(); EstimationDocument.totalCost.checkBoxOut();}}'> <label for="large">大型・</label> <input id="tow" class="checkbox license" type='checkbox' value='<?php echo $license_list['牽引']?>' data-bind = 'event: {change: function(){EstimationDocument.variableCost.getSalary(); EstimationDocument.totalCost.checkBoxOut();}}'><label for="tow">牽引</label><span>)</span> <span class="two_gap"></span> 8 </li>
javascript
1self.EstimationDocument.totalCost.checkBoxOut = function(){ 2 if(self.EstimationDocument.totalCost.driverLaborCosts() != 3){ // ドライバー人件費で、資格別平均以外が選択されたときにチェックボックスを全て外す 3 $('input[class=checkbox]').prop('checked', false); 4 } 5 if(self.EstimationDocument.totalCost.driverLaborCosts() == 0){ // ドライバー人件費が未選択の状態になったとき、給与の値を全て0にする 6 salaryInitialization('driver'); 7 salaryInitialization('assistant'); 8 } 9 } 10 11
補足情報(FW/ツールのバージョンなど)
足りない情報があればコメントにお願いします。
確認次第追記します。
回答1件
あなたの回答
tips
プレビュー