私のHTML
<fieldset>
<label for="tipoPre">Tipo de premio</label>
<select id="tipoPre"><option value="Devolución de consumo">Devolución de consumo</option>
<option value="Devolución de consumo de premio acumulado">Devolución de consumo de premio acumulado</option>
<option value="Entrega individual">Entrega individual</option>
<option value="Premio monetario">Premio monetario</option>
</select>
<label for="monDev">Monto devolucion</label>
<select id="monDev">
<option value="Monto acumulado">Monto acumulado</option>
<option value="Monto del cupón">Monto del cupón</option>
</select>
<label for="numGanadores">Numero de ganadores</label>
<input type="text" class="text ui-widget-content ui-corner-all" id="numGanadores" name="numGanadores">
<label for="numSuplentes">Numero de suplentes</label>
<input type="text" class="text ui-widget-content ui-corner-all" id="numSuplentes" name="numSuplentes">
<label for="monMin">Monto minimo</label>
<input type="text" class="text ui-widget-content ui-corner-all" id="monMin" name="monMin">
<label for="monMax">Monto maximo</label>
<input type="text" class="text ui-widget-content ui-corner-all" id="monMax" name="monMax">
<label for="monPre">Monto premio</label>
<input type="text" class="text ui-widget-content ui-corner-all" id="monPre" name="monPre">
<label for="acumulado">Acumulado a repartir</label>
<input type="text" class="text ui-widget-content ui-corner-all" id="acumulado" name="acumulado">
</fieldset>
私のjquery関数:
function validateFieldsOnChange() {
$("#monDev").prop('selectedIndex', -1);
$("#tipoPre").prop('selectedIndex', -1);
$("#tipoPre").change(function () {
switch ($('#tipoPre option:selected').attr('value')) {
case 'Entrega individual':
$("#monDev, #monMin, #monMax, #monPre, #acumulado").attr('disabled', 'disabled');
break;
case 'Premio monetario':
$("#monDev, #monMin, #monMax, #acumulado").attr('disabled', 'disabled');
break;
case 'Devolución de consumo':
$("#monPre, #acumulado").attr('disabled', 'disabled');
break;
case 'Devolución de consumo de premio acumulado':
$("#monPre, #numGanadores").attr('disabled', 'disabled');
break;
default:
break;
}
});
}
そのコードを新しいフォーム (新しいレコードの追加) で使用すると正常に動作しますが、それを読み込んで既存のレコードを編集すると、有効/無効にする必要があるフィールドが有効または無効になっていないため、機能しません。
編集:問題は、編集するデータを取得することではありません。データを取得するときに、フォームにロードします。 monPre、#acumulado を無効にし、残りを有効にする必要があります