如何在Yii javascript中使用复选框隐藏或显示文本字段

如何在Yii javascript中使用复选框隐藏或显示文本字段,javascript,php,jquery,checkbox,yii,Javascript,Php,Jquery,Checkbox,Yii,我已在我的Yii项目视图中激活了我的js文件: <?php /* Register javascript */ Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl . '/js/showHide.js'); ?> 在我看来,我有一个名为“tbo_sk”的复选框和名为“nilaiblksk”的文本字段 <?php echo $form->checkBox($model, '

我已在我的Yii项目视图中激活了我的js文件:

<?php
/* Register javascript */
Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl . '/js/showHide.js');
?>

在我看来,我有一个名为“tbo_sk”的复选框和名为“nilaiblksk”的文本字段

<?php echo $form->checkBox($model, 'tbo_sk'); ?>
<div style="display: none"><?php echo $form->textField($model, 'nilaiblksk'); ?></div>

我的问题是,我们如何在showHide.js文件中生成javascript代码,以便在我选中复选框时显示文本字段,否则,如果不选中,则隐藏文本字段

在我的div标记中,我使用style=“display:none”隐藏文本字段


提前谢谢

最好给div一个ID或类,而不是在jQuery中使用parent()

<div id="hiddenDiv" style="display: none"><?php echo $form->textField($model, 'nilaiblksk'); ?></div>

<script>
$(document).ready(function(){
    $('#MODELNAME_tbo_sk').change(function(){
        $('#hiddenDiv').toggle(); // or do $('#MODELNAME_nilaiblksk').parent().toggle();
    });
});
</script>

$(文档).ready(函数(){
$('#MODELNAME_tbo_sk')。更改(函数(){
$('#hiddenDiv').toggle();//或do$('#MODELNAME_nilaiblksk').parent().toggle();
});
});

最好给div一个ID或类,而不是在jQuery中使用parent()

<div id="hiddenDiv" style="display: none"><?php echo $form->textField($model, 'nilaiblksk'); ?></div>

<script>
$(document).ready(function(){
    $('#MODELNAME_tbo_sk').change(function(){
        $('#hiddenDiv').toggle(); // or do $('#MODELNAME_nilaiblksk').parent().toggle();
    });
});
</script>

$(文档).ready(函数(){
$('#MODELNAME_tbo_sk')。更改(函数(){
$('#hiddenDiv').toggle();//或do$('#MODELNAME_nilaiblksk').parent().toggle();
});
});

最好给div一个ID或类,而不是在jQuery中使用parent()

<div id="hiddenDiv" style="display: none"><?php echo $form->textField($model, 'nilaiblksk'); ?></div>

<script>
$(document).ready(function(){
    $('#MODELNAME_tbo_sk').change(function(){
        $('#hiddenDiv').toggle(); // or do $('#MODELNAME_nilaiblksk').parent().toggle();
    });
});
</script>

$(文档).ready(函数(){
$('#MODELNAME_tbo_sk')。更改(函数(){
$('#hiddenDiv').toggle();//或do$('#MODELNAME_nilaiblksk').parent().toggle();
});
});

最好给div一个ID或类,而不是在jQuery中使用parent()

<div id="hiddenDiv" style="display: none"><?php echo $form->textField($model, 'nilaiblksk'); ?></div>

<script>
$(document).ready(function(){
    $('#MODELNAME_tbo_sk').change(function(){
        $('#hiddenDiv').toggle(); // or do $('#MODELNAME_nilaiblksk').parent().toggle();
    });
});
</script>

$(文档).ready(函数(){
$('#MODELNAME_tbo_sk')。更改(函数(){
$('#hiddenDiv').toggle();//或do$('#MODELNAME_nilaiblksk').parent().toggle();
});
});

然后视图文件添加以下代码:

在准备切换输入的文档上注册jquery函数:

$buttonToggler= <<<JS
    toggleInput=function(src,inputName){
      if(src.checked){
        $(src.form[inputName]).removeProp('disabled');
       }else{
         $(src.form[inputName]).prop('disabled','disabled');
       }
    }
JS;
Yii::app()->clientScript->registerScript('toggleFormInputs',$buttonToggler, CClientScript::POS_READY);
您必须替换实际模型名称,例如“ModelName[nilaiblksk]”例如,对于post模型,无论您使用的实际模型是什么,它都将是“post[nilaiblksk]”


还有一件事,您必须更改toggleInput函数,例如,如果您可能只想将其设置为只读或添加或删除css类,则视图文件将添加以下代码:

在准备切换输入的文档上注册jquery函数:

$buttonToggler= <<<JS
    toggleInput=function(src,inputName){
      if(src.checked){
        $(src.form[inputName]).removeProp('disabled');
       }else{
         $(src.form[inputName]).prop('disabled','disabled');
       }
    }
JS;
Yii::app()->clientScript->registerScript('toggleFormInputs',$buttonToggler, CClientScript::POS_READY);
您必须替换实际模型名称,例如“ModelName[nilaiblksk]”例如,对于post模型,无论您使用的实际模型是什么,它都将是“post[nilaiblksk]”


还有一件事,您必须更改toggleInput函数,例如,如果您可能只想将其设置为只读或添加或删除css类,则视图文件将添加以下代码:

在准备切换输入的文档上注册jquery函数:

$buttonToggler= <<<JS
    toggleInput=function(src,inputName){
      if(src.checked){
        $(src.form[inputName]).removeProp('disabled');
       }else{
         $(src.form[inputName]).prop('disabled','disabled');
       }
    }
JS;
Yii::app()->clientScript->registerScript('toggleFormInputs',$buttonToggler, CClientScript::POS_READY);
您必须替换实际模型名称,例如“ModelName[nilaiblksk]”例如,对于post模型,无论您使用的实际模型是什么,它都将是“post[nilaiblksk]”


还有一件事,您必须更改toggleInput函数,例如,如果您可能只想将其设置为只读或添加或删除css类,则视图文件将添加以下代码:

在准备切换输入的文档上注册jquery函数:

$buttonToggler= <<<JS
    toggleInput=function(src,inputName){
      if(src.checked){
        $(src.form[inputName]).removeProp('disabled');
       }else{
         $(src.form[inputName]).prop('disabled','disabled');
       }
    }
JS;
Yii::app()->clientScript->registerScript('toggleFormInputs',$buttonToggler, CClientScript::POS_READY);
您必须替换实际模型名称,例如“ModelName[nilaiblksk]”例如,对于post模型,无论您使用的实际模型是什么,它都将是“post[nilaiblksk]”


还有一件事,您必须更改toggleInput函数,例如,如果您可能只想将其设置为只读或添加或删除css类

我在js:Yii::app()->clientScript->registerScript的最后一行发现一个错误('toggleFormInputs',$buttonoggler,CClientScript::POS READY);这不是应该放在视图文件中吗?上面所有的代码都会放在视图文件中,只是将代码块分开以使其清晰。我在js的最后一行发现了一个错误:Yii::app()->clientScript->registerScript('toggleFormInputs',$buttonoggler,CClientScript::POS_READY);这不是应该放在视图文件中吗?上面所有的代码都会放在视图文件中,只是将代码块分开以使其清晰。我在js的最后一行发现了一个错误:Yii::app()->clientScript->registerScript('toggleFormInputs',$buttonoggler,CClientScript::POS_READY);这不是应该放在视图文件中吗?上面所有的代码都会放在视图文件中,只是将代码块分开以使其清晰。我在js的最后一行发现了一个错误:Yii::app()->clientScript->registerScript('toggleFormInputs',$buttonoggler,CClientScript::POS_READY);这不是应该放在视图文件中吗?上面所有的代码都会放在视图文件中,只是将代码块分开以使其清晰。谢谢,工作起来很有魅力!当时我以为这不管用,直到意识到我没有更改模型名!哈哈,谢谢tinyByte!谢谢,很有魅力!当时我以为这不管用,直到意识到我没有更改模型名!哈哈,谢谢tinyByte!谢谢,很有魅力!当时我以为这不管用,直到意识到我没有更改模型名!哈哈,谢谢tinyByte!谢谢,很有魅力!当时我以为这不管用,直到意识到我没有更改模型名!哈哈,谢谢tinyByte!