根据选择选项启用/禁用其他输入
Enable/Disable other inputs based on select option
我的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;
}
});
}
当我在新表单中使用该代码(添加新记录)时,效果很好,但当我加载它来编辑现有记录时,它不起作用,因为应该启用/禁用的字段没有启用或禁用
编辑:问题不在于检索要编辑的数据,当我检索数据时,如果$(#tipoPre).val()="Entrega personal",则字段#monDev、#monMin、#monMax、#monPre、#acmulado应被禁用,其余应启用
更改事件将在document.ready
而不是validateFieldsOnChange
中注册,以在select
更改时产生所需的结果
$(function(){
function validateFieldsOnChange() {
$("#monDev").prop('selectedIndex', -1);
$("#tipoPre").prop('selectedIndex', -1);
});
$("#tipoPre").change(function () {
switch ($('#tipoPre option:selected').attr('value')) {
case 'Entrega individual':
resetValues();
$("#monDev, #monMin, #monMax, #monPre, #acumulado").attr('disabled', 'disabled');
break;
case 'Premio monetario':
resetValues();
$("#monDev, #monMin, #monMax, #acumulado").attr('disabled', 'disabled');
break;
case 'Devolución de consumo':
resetValues();
$("#monPre, #acumulado").attr('disabled', 'disabled');
break;
case 'Devolución de consumo de premio acumulado':
resetValues();
$("#monPre, #numGanadores").attr('disabled', 'disabled');
break;
default:
break;
});
$("#sorPorFecha").click(function() {
(typeof $("#sorPorFecha").attr('checked') != 'undefined') ? $('#unicoPorFecha').removeAttr('disabled') : $('#unicoPorFecha').attr('disabled', 'disabled');
$('#unicoPorFecha').prop('checked', false);
});
});
相关文章:
- JQuery:当其他输入字段的值发生更改时更改值
- 输入类型=文件验证停止其他输入类型验证
- 使用其他输入值自动填充输入
- 创建一个计算值数组,该数组绑定到AngularJS中的其他输入
- 更新其中一个字段时刷新其他输入字段.使用Angularjs(附Plunker)
- 根据选择选项启用/禁用其他输入
- 选择列表框以更改其他输入
- 根据其他输入设置最大值
- 如何从许多其他输入中查找触发键关闭事件的特定输入框
- 基于相同形式的其他输入填充标记输入
- j查询验证模糊文本区域与其他输入问题
- 未在选择标记下拉列表中选择以隐藏其他输入元素的嵌套控制器
- HTML,Javascript,PHP - 选择菜单+其他输入框
- 当焦点从其他输入丢失时,如何聚焦主输入
- 如果其他输入已填充,如何动态添加新输入 角度
- Rails 4 / jQuery:需要在表单输入中输入值以自动填充其他输入
- 自动建议输入,防止将文本复制到其他输入文本字段
- 如何将文件名设置为其他输入的输入值
- Javascript getElementById 默认值未显示在其他输入字段中
- 选择2 多个 阻止其他输入在输入时提交表单