【问题标题】:Yii2 Using If else in Views _FormYii2 在 Views _Form 中使用 If else
【发布时间】:2017-08-17 00:02:22
【问题描述】:

我有 2 个名为 Address 和 Mail_address 的文本输入

我使用 Jquery,所以当我在 Address 中输入一些文本时,Mail_address 与 Address 的文本完全相同。

现在我想添加 1 个复选框,所以当我单击该复选框时, Mail_address 已被禁用或只读,并且它的值与地址相同

但是我该如何为 Jquery 或 _form 中的复选框实现 if else 呢?

谢谢

这是我的看法_Form

<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;
use yii\bootstrap\Modal;
use yii\helpers\BaseHtml;
use app\assets\myassets\InputAsset;
?>
<?php
$button = Html::button('Cancel', ['class' => 'btn btn-default btn-md', 'data' => ['dismiss' => "modal"]]);
$button .= Html::button('Submit', ['id' => 'submit', 'class' => 'btn btn-success success btn-md']);
Modal::begin([
    'header' => '<h2>Konfirmasi</h2>',
    'toggleButton' => false,
    'id' => 'confirm-submit',
    'footer' => $button
	]);
	echo 'Save ?';
Modal::end();
?>
<?php
$this->registerJs('

$(document).ready(function () {
		$(document).on("change" ,"#'. Html::getInputId($model ,'Address') .'" ,function(){
        $("#'. Html::getInputId($model ,'Mail_Address') .'").val();
		var first = $("#'. Html::getInputId($model ,'Address') .'").val();
        var third = first;
        $("#'. Html::getInputId($model ,'Mail_Address') .'").val(third);
		});
		
		
});


');

?>
<div class="tcust-form">

    <?php $form = ActiveForm::begin([
		'id' => 'marketing',
	]); 
	?>
	<div class="row">
        <div class="col-md-6">
			<?= $form->field($model, 'Address')->textInput() ?>
			<?= $form->field($model, 'Mail_Address')->textInput() ?>
			<?= $form->field($model, 'SameasAbove')->checkbox() ?>
		</div>	
	</div>
    <div class="form-group">
        <?= Html::submitButton($model->isNewRecord ? Yii::t('app', 'Create') : Yii::t('app', 'Update'), ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']) ?>
    </div>

    <?php ActiveForm::end(); ?>

</div>

【问题讨论】:

    标签: php jquery forms checkbox yii2-basic-app


    【解决方案1】:

    您需要做的就是为复选框编写一个更改函数

    $('#checkboxID').on('change',function(){
    if($('#checkboxID).prop('checked'))
    {
     var address = $('#addressID').val();
    $('#mailAddress').val(address).addClass('disabled');
    }
    else
    {
    if($('#checkboxID).hasClass('disabled')
    {
    $('#mailAddress).removeClass('disabled');
    }
    
    }
    
    })
    

    【讨论】:

    • 感谢您的解决方案。我稍后会尝试。但是我必须在复选框中添加 ID 还是只使用 "#'.Html::getInputId($model ,'SameasAbove') .'" 作为 checkboxID ?
    • 它是你希望的伙伴,我不知道 PHP 但如果这项工作可以随意使用
    猜你喜欢
    • 1970-01-01
    • 2016-10-25
    • 1970-01-01
    • 1970-01-01
    • 2019-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多