Laravel 中 "Chosen select" 的问题
Problems with "Chosen select" in Laravel
你好,你好吗?我对动态 select 感到不便,我在其中收取 "matriz",并且取决于第二个 select 向我收取 "ensayos" 的费用。在 "create" 表格中没有问题,问题在 "edit" 表格中,因为当我开始编辑时,我必须在 "matriz" 中显示 selected 字段的数据因此,如果我必须更改分析,请不要根据预加载的 "matriz" 对这些进行 selection。例如,如果我在输入示例时输入 "matriz": Water,当我输入编辑表单时,以便 "ensayos" 的 selection 进行更改,我必须 select 另一个 "matriz" (例如:食物)和 select "Water" 以便在 "ensayos" 字段中再次生成过滤器并能够 select只有水测试。
我留下代码让你看看我说的是什么:
<div class="form-group">
<label for="matriz">Matriz:</label><br>
<select class="chosen-select" name="matriz_id" id="matriz">
<option disabled selected>Seleccionar Matriz</option>
@foreach($matrizs as $matriz)
<option value="{{$matriz->id}}" @if(($muestra->matriz_id) == ($matriz->id)) selected="selected" @endif>{{$matriz->matriz}}</option>
@endforeach
</select>
</div>
<div class="form-group ml-4">
{!! Form::Label('ensayo_id', 'Ensayos:') !!}
<select class="chosen-select" name="ensayo_id[]" id="ensayos" multiple="multiple" style="width: 950px">
@forelse($selects as $sel)
@foreach($ensayos as $ensayo)
<option value="{{$ensayo->id}}" @if(($sel->ensayo_id) == ($ensayo->id)) selected="selected" @endif>{{$ensayo->ensayo}}</option>
@endforeach
@empty
@foreach($ensayos as $ensayo)
<option value="{{$ensayo->id}}">{{$ensayo->ensayo}}</option>
@endforeach
@endforelse
</select>
</div>
这是 jQuery 中的代码:
$('#matriz').change(function(e){
var matriz_id = e.target.value;
$.get('/dsa/public/lab/muestras/'+matriz_id+'/ensayos', function(data){
$('#ensayos').empty();
var html_select = '';
for (var i=0; i<data.length; ++i)
html_select += '<option value="'+data[i].id+'">'+data[i].ensayo+'</option>';
$('#ensayos').html(html_select);
$('#ensayos').chosen();
$('#ensayos').trigger("chosen:updated");
});
});
我试图改变:
$('#matriz').change(function(e)
更改为:
$('#matriz').ready
但没用。
你能想到我该如何解决这个问题吗?来自已经非常感谢
如果我对你的问题的理解正确,我想,当页面加载完成并且字段 matriz
中设置了正确的值时,你可以加载 ensayos
的条目。
与您的代码相比,我只更改了两行。
运行 加载文档时的这段代码:
$(document).ready(function() {
然后读取matriz
的选择值
var matriz_id = $('#matriz').val();
试试这个代码:
$(document).ready(function() {
var matriz_id = $('#matriz').val();
$.get('/dsa/public/lab/muestras/'+matriz_id+'/ensayos', function(data) {
// here your code as above
...
});
你好,你好吗?我对动态 select 感到不便,我在其中收取 "matriz",并且取决于第二个 select 向我收取 "ensayos" 的费用。在 "create" 表格中没有问题,问题在 "edit" 表格中,因为当我开始编辑时,我必须在 "matriz" 中显示 selected 字段的数据因此,如果我必须更改分析,请不要根据预加载的 "matriz" 对这些进行 selection。例如,如果我在输入示例时输入 "matriz": Water,当我输入编辑表单时,以便 "ensayos" 的 selection 进行更改,我必须 select 另一个 "matriz" (例如:食物)和 select "Water" 以便在 "ensayos" 字段中再次生成过滤器并能够 select只有水测试。
我留下代码让你看看我说的是什么:
<div class="form-group">
<label for="matriz">Matriz:</label><br>
<select class="chosen-select" name="matriz_id" id="matriz">
<option disabled selected>Seleccionar Matriz</option>
@foreach($matrizs as $matriz)
<option value="{{$matriz->id}}" @if(($muestra->matriz_id) == ($matriz->id)) selected="selected" @endif>{{$matriz->matriz}}</option>
@endforeach
</select>
</div>
<div class="form-group ml-4">
{!! Form::Label('ensayo_id', 'Ensayos:') !!}
<select class="chosen-select" name="ensayo_id[]" id="ensayos" multiple="multiple" style="width: 950px">
@forelse($selects as $sel)
@foreach($ensayos as $ensayo)
<option value="{{$ensayo->id}}" @if(($sel->ensayo_id) == ($ensayo->id)) selected="selected" @endif>{{$ensayo->ensayo}}</option>
@endforeach
@empty
@foreach($ensayos as $ensayo)
<option value="{{$ensayo->id}}">{{$ensayo->ensayo}}</option>
@endforeach
@endforelse
</select>
</div>
这是 jQuery 中的代码:
$('#matriz').change(function(e){
var matriz_id = e.target.value;
$.get('/dsa/public/lab/muestras/'+matriz_id+'/ensayos', function(data){
$('#ensayos').empty();
var html_select = '';
for (var i=0; i<data.length; ++i)
html_select += '<option value="'+data[i].id+'">'+data[i].ensayo+'</option>';
$('#ensayos').html(html_select);
$('#ensayos').chosen();
$('#ensayos').trigger("chosen:updated");
});
});
我试图改变:
$('#matriz').change(function(e)
更改为:
$('#matriz').ready
但没用。
你能想到我该如何解决这个问题吗?来自已经非常感谢
如果我对你的问题的理解正确,我想,当页面加载完成并且字段 matriz
中设置了正确的值时,你可以加载 ensayos
的条目。
与您的代码相比,我只更改了两行。
运行 加载文档时的这段代码:
$(document).ready(function() {
然后读取matriz
var matriz_id = $('#matriz').val();
试试这个代码:
$(document).ready(function() {
var matriz_id = $('#matriz').val();
$.get('/dsa/public/lab/muestras/'+matriz_id+'/ensayos', function(data) {
// here your code as above
...
});