我有一个input
列表与name
相同,默认隐藏。
我根据select
值显示它们显示,我想禁用隐藏的输入,这样当我提交表单时它们不会发生冲突。
我该怎么做?
js
<script type="text/javascript">
$(document).ready(function() {
$("#report_type").change(function() {
$("#type_wrap > input").hide();
$("#" + $(this).val()).show();
});
});
</script>
答案 0 :(得分:1)
如果要禁用输入元素,请将其disabled
属性设置为true
。要重新启用它,请将其disabled
属性设置为false
$("#type_wrap > input").hide().prop('disabled', true);
$("#" + $(this).val()).prop('disabled', false).show();
注意:提交表单时,浏览器不应包含已禁用的输入元素的值。 (reference)
答案 1 :(得分:1)
您想要禁用不可见的输入吗?
我在考虑
$("#type_wrap > input").not("visible").prop("disabled",true)
但这更简单
$(function() {
$("#report_type").on("change",function() {
$("#type_wrap > input").prop("disabled",true).hide();
$("#" + $(this).val()).prop("disabled",false).show();
});
});
答案 2 :(得分:0)
尝试使用argv[1]
input
属性disabled
设置为true
.prop("disabled", true)
答案 3 :(得分:0)
尝试删除或隐藏元素
删除
$(document).ready(function() {
$("#report_type").change(function() {
$("#type_wrap > input").prop("disabled", true).hide();
$("#" + $(this).val()).show();
});
});
停用强>
$("#type_wrap > input").remove();
这会阻止元素提交。