[英]Yii2: How to disable radio button
<?php echo $form->field($model, 'status')->radioButtonGroup($model->getStatusList(), ['disabledItems'=>['APPROVED','DIGITAL','CDP']],
[
'class' => 'btn-group-sm',
'itemOptions' => ['labelOptions' => ['class' => 'btn btn-warning']]
]);
?>
I want to disable all previous radio buttons from currently checked. 我想禁用当前选中的所有以前的单选按钮。 As I showed in image status 'APPROVED','DIGITAL','CDP' are disabled because status print is selected.
正如我在图像状态“ APPROVED”,“ DIGITAL”,“ CDP”中所显示的,因为选择了状态打印,所以已禁用。 I have put these three status in disabled function but how to achieve this using jQuery.
我已将这三个状态设置为禁用功能,但如何使用jQuery实现此功能。
PS- Using Yii2 PS-使用Yii2
HTML Code- HTML代码
<div class="form-group field-status-status required">
<label class="control-label" for="status-status">Status</label>
<input type="hidden" name="Status[status]" value="">
<div id="status-status" class="btn-group" data-toggle="buttons">
<label class="btn btn-default disabled">
<input type="radio" name="Status[status]" value="APPROVED" disabled> Approved</label>
<label class="btn btn-default disabled">
<input type="radio" name="Status[status]" value="DIGITAL" disabled> Digital</label>
<label class="btn btn-default disabled">
<input type="radio" name="Status[status]" value="CDP" disabled> CDP</label>
<label class="btn btn-default">
<input type="radio" name="Status[status]" value="PRINT"> Print</label>
<label class="btn btn-default">
<input type="radio" name="Status[status]" value="OTHERPROCESS"> OtherProcess</label>
<label class="btn btn-default">
<input type="radio" name="Status[status]" value="PACKING"> Packing</label>
<label class="btn btn-default">
<input type="radio" name="Status[status]" value="DISPATCH"> Dispatch</label>
</div>
You can use prop
to disable radio buttons. 您可以使用
prop
禁用单选按钮。
$(':radio:checked').closest('label').prevAll('label :radio').prop('disabled', true);
Demo: 演示:
$(':radio').on('change', function() { $(':radio:checked').closest('label').prevAll('label').addClass('disabled').children(':radio').prop('disabled', true); }).trigger('change');
.disabled { color: gray; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <div class="form-group field-status-status required"> <label class="control-label" for="status-status">Status</label> <input type="hidden" name="Status[status]" value=""> <div id="status-status" class="btn-group" data-toggle="buttons"> <label class="btn btn-default"> <input type="radio" name="Status[status]" value="APPROVED">Approved</label> <label class="btn btn-default"> <input type="radio" name="Status[status]" value="DIGITAL">Digital</label> <label class="btn btn-default"> <input type="radio" name="Status[status]" value="CDP" checked>CDP</label> <label class="btn btn-default"> <input type="radio" name="Status[status]" value="PRINT">Print</label> <label class="btn btn-default"> <input type="radio" name="Status[status]" value="OTHERPROCESS">OtherProcess</label> <label class="btn btn-default"> <input type="radio" name="Status[status]" value="PACKING">Packing</label> <label class="btn btn-default"> <input type="radio" name="Status[status]" value="DISPATCH">Dispatch</label> </div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.