説明: alcanceMarca からオプションを選択する場合、alcanceMarcaの値に基づいてalcanceProductoを入力します。この後、alcanceProducto に値を設定 (選択) する必要があります。
問題: 問題は、alcanceProducto の値を設定 (選択) しないことです。これは、値を設定するときにメソッド change() が実行されるためです。終わっていません。
そして、change() が終了した直後に alcanceProducto の値を設定する方法を見つける必要があると思います。
私のコード
enlace = 5; //for example
idMps = 3;
$('#editMPS_structure .alcanceMarca').find('select').val(enlace).change();
console.log($('#editMPS_structure .alcanceProducto').find('select').find('option'));
$('#editMPS_structure .alcanceProducto').find('select').val(idMps);
$('.marca').on('change', function() {
//Populate select select.marca from database using jquery ajax, this part works perfectly
})
$('#editMPS_structure .alcanceMarca').find('select')は.marcaに等しい
例えば:
このデフォルトの選択があります:
<select class="marca">
<option value="0">Seleccione</option>
<option value="1">Option1</option>
</select>
<select class="producto">
<option value="0">Seleccione</option>
</select>
.marca のオプション 1 に基づいて製品を入力した後
<select class="marca">
<option value="0">Seleccione</option>
<option value="1">Option1</option>
</select>
<select class="producto">
<option value="0">Seleccione</option>
<option value="1">OptionProd1</option>
<option value="2">OptionProd2</option>
<option value="3">OptionProd3</option>
</select>
そして、値を 3 に設定する必要がありますが、ドロップダウン .alcanceProducto がまだ生成されていないため、機能しません。
メソッド呼び出し change() と set value の間のコンソールに表示されるものは、オプション 0 のみが表示され、アップロードする必要がある 3 つのオプションが表示されないため、ロードされていないことに気付きました。