显示单选按钮选择的内容



我在update((中有创建新证书或更新现有证书的代码,以及它的工作原理。

但我希望当用户选择特定的注册类型(单选按钮(时,如何在文本区域中显示与所选注册类型相关联的证书内容(单选按钮。

但它不起作用——"alert(registrationTypeId(;"显示注册类型id,但这个"$('#certificate_content'(.val(certificate[RegstrationTypeId](;"不起作用。

CertificateController更新((:

public function update(Request $request){
$registrationType = RegistrationType::where('id', $request->registrationType);
$certificate = $registrationType->certificate;
// if no certificate exists for this type, create it
if(!$certificate ) {
$certificate = new Certificate();
}
$certificate->content = $request->certificate_content;
$certificate->save();
$registrationType->certificate_id = $certificate->id;
$registrationType->save();
Session::flash('success','Certificate configured with success.');
return redirect()->back();
}

视图中的形式:

<form method="post" class="clearfix" action="{{route('certificates.update', ['conference_id' => $conference->id])}}" enctype="multipart/form-data">
{{csrf_field()}}
<div class="form-row">
<div class="form-group col">
<label>Certificate</label>
@foreach($conference->registrationTypes as $registrationType)
<div class="form-check">
<input
{{ (old('radiobutton') && old('radiobutton') == $rtype->id) ? 'checked' : '' }}
class="form-check-input radio" type="radio" name="registrationType"
value="{{ $registrationType->id }}" id="{{$registrationType->id}}">
<label class="form-check-label" for="exampleRadios1">
Certificate for the registration type "{{$registrationType->name}}"
</label>
</div>
@endforeach
</div>
</div>
<div class="form-group">
<label>Configure the certificate for the selected registration type</label>
<textarea class="form-control" name="certificate_content" id="certificate_content" rows="3">{{ $certificate->content }} {{ old('certificate_content') }} </textarea>
</div>
<div>
<input type="submit" class="btn btn-primary btn" value="Save"/>
</div>
</form>

jQuery:

<script src="https://cloud.tinymce.com/stable/tinymce.min.js"></script>
<script type="text/javascript">
var certificate = {};
@foreach($onference->registrationTypes as $registrationType)
@if(!$registrationType->certificate)
certificate[{{ $registrationType->id }}] = '';
@else
certificate[{{ $registrationType->id }}] = '{{ $registrationType->certificate->content }}';
@endif
@endforeach
$(function() {
$('.radio').change(function() {
var registrationTypeId = $('input[name=registrationType]:checked').val();
alert(registrationTypeId); // shows the registration type id
$('#certificate_content').val( certificate[registrationTypeId] );
});
});
</script>
@stop

使用tinymce初始化文本区域后,使用以下命令:

tinymce.get('certificate_content').setContent('YOUR_CONTENT');

你也可以用做同样的事情

$(tinymce.get('certificate_content').getBody()).html('HTML_CONTENT');

最新更新