我正在放置一个表单,其中包含可以动态添加的重复字段。
以这种动态添加的形式,我在选择字段和几个文本字段之间建立了链接。
根据在文本字段中所做的选择,是否显示某些文本字段。
我重复的形式是:
<table class="table table-bordered table-striped" id="table99">
<tr data-index="{{ $index }}">
<td>{!! Form::text('evenements['.$index.'][datedevenement]', old('evenements['.$index.'][datedevenement]', isset($field) ? $field->datedevenement: ''), ['class' => 'date form-control', 'required' => '']) !!}</td>
<td> {!! Form::select('evenements['.$index.'][typeevenement_id]', $typeevenements, old('evenements['.$index.'][typeevenement_id]', isset($field) ? $field->typeevenement_id: ''), ['class' => 'typeevenement_id form-control select2', 'required' => '', 'id' => 'typeevenement_id'.$index.'']) !!} </td>
<td>{!! Form::textarea('evenements['.$index.'][notesurevenemnt]', old('evenements['.$index.'][notesurevenemnt]', isset($field) ? $field->notesurevenemnt: ''), ['class' => 'form-control']) !!}</td>
<td> {!! Form::text('evenements['.$index.'][natureev]', old('evenements['.$index.'][natureev]', isset($field) ? $field->natureev: ''), ['class' => 'natureev form-control', 'id' => 'natureev'.$index.'', 'style' => 'display: none' ]) !!}</td>
<td> {!! Form::select('evenements['.$index.'][famille_id]', $famille_id, old('evenements['.$index.'][famille_id]', isset($field) ? $field->famille_id: ''), ['class' => 'form-control select2', 'id' => 'famille'.$index.'', 'style' => 'display: none']) !!} </td>
<td>
<a href="#" class="remove btn btn-xs btn-danger">@lang('quickadmin.qa_delete')</a>
</td>
</tr>
所以我尝试使用jquery来做到这一点:
jQuery('#table99').on('change','.typeevenement_id',
function(){
var id = $(this).attr('id'); /// i take the value of id of the row
var num = id.split("typeevenement_id", 2); /// i split for to have only the id
/// alert(id);
/// alert(num);
if ($('#typeevenement_id' + num).val() == "1") {
$("#natureev" + num).show();
$("#famille" + num).hide();
}
/// alert(id);
});
</script>
但是没有任何反应,我没有错误消息。 我认为这是因为表单是动态添加的,但我找不到解决方案。