2017-05-09 5 views
0

Benötigen Sie Hilfe, um dies zu lösen!CakePHP: Aktivieren/Deaktivieren der Textbox, wenn das Kontrollkästchen aktiviert/deaktiviert ist

Mit CakePHP, mache ich eine Auflistung, die Namen (etwas Text), Kontrollkästchen und Textfeld anzeigt. Was ich brauche ist, wenn die Checkbox überprüft wird, sollte die extbox aktiviert werden, sonst sollte es deaktiviert werden. Ich habe es ausprobiert. aber es funktioniert nicht so, wie ich es wünsche.

Hier ist der Code und seine jquery.

<tbody> 
      <?php $count = 0; ?> 
      <?php foreach ($get_resources['learnings'] as $learnings): ?> 
       <tr><td> 
        <?php $control_id = $this->SDNTextUtils->cleanCssIdentifier($learnings['name']); ?> 

      <div class="switch"> 
     <?= $this->Form->label($control_id, __($learnings['name'])); ?></div></td> 
    <td> 
    <div class="switch"> 
    <?= $this->Form->checkbox("lrng_permission[$count][permission]", ['class' => 'cmn-toggle cmn-toggle-round', 'id' => $control_id, 'name'=>'idd']); ?> 


    <?= $this->Form->label($learnings['name'], ''); ?> 



    <?= $this->Form->hidden("lrng_permission[$count][resource_name]", ['value' => $learnings['name']]); ?> 

    <?= $this->Form->hidden("lrng_permission[$count][resource_type]", ['value' => 'Learning']); ?></td> 

    <td> <?= $this->Form->number('',['label'=>false,'id'=>'check1','disabled' => 'disabled']); ?> 

    </td></tr> 
    </div> 

<?php $count ++; ?> 
<?php endforeach; ?> 
    </tbody> 

// Hier ist die JQuery

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<script type="text/javascript"> 


    $('#idd').'change',function(){ 
     var checked=$('#idd').is(':checked'); 
     if(checked==true) 
     { 
      $('#check1').attr('disabled',false); 
     } else { 

      $('#check1').attr('disabled',true); 
     } 
     }); 

</script> 
+0

Bitte aktualisieren Sie die gerenderte HTML nicht hin- und herzuschalten der Kuchencode. Damit wir es testen können. Auch jQuery Code ist komplett unordentlich. Es muss '$ ('# idd') sein. On ('change', function() {' (immer noch glaube ich nicht, dass es funktionieren wird, bis HTML von dir gezeigt wird und weitere Korrekturen in unserem Code) –

Antwort

0

den ternären Operator Verwenden Sie den deaktivierten Zustand auf Checkbox ändern

$('[name=idd]').on('change', function() { 
 
    console.log(this.checked); 
 
    $('#check1').prop('disabled', this.checked); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="checkbox" name="idd"> 
 
<textarea id="check1">textarea</textarea>

Verwandte Themen