【发布时间】:2013-03-22 16:16:55
【问题描述】:
我在一个选择框中有以下代码,其中三个选项应该动态启用/禁用输入字段/文本区域/选择中的“禁用”属性,但该代码根本不起作用:
$(document).ready(function() {
$('.fieldcontent').not('.info').hide();
$('#selector_cs').change(function() {
$('.fieldcontent').customFadeOut(100);
$('.' + $(this).val()).customFadeIn(900);
// $('input').prop('disabled',false);
//$('textarea').prop('disabled',false);
//$('select').prop('disabled',false);
//option1
if ($("this:selected").val() === 'help') {
$("textarea[name='message']").prop('disabled',false);
$("input[name='domain']").prop('disabled',false);
}else{
$("textarea[name='message']").prop('disabled',true);
$("input[name='domain']").prop('disabled',true);
};
//option2
if ($("this:selected").val() === 'info') {
$("textarea[name='message']").prop('disabled',false);
}else{
$("textarea[name='message']").prop('disabled',true);
};
//option3
if ($("this:selected").val() === 'products') {
$("textarea[name='message']").prop('disabled',true);
$("select[name='products']").prop('disabled',false);
$("input[name='domain']").prop('disabled',false);
$("input[name='address']").prop('disabled',false);
$("input[name='state']").prop('disabled',false);
$("input[name='city']").prop('disabled',false);
$("input[name='country']").prop('disabled',false);
};
}); });
谁能帮我正确编写代码?
提前感谢您的帮助
编辑:感谢@Ken 和@arun 的快速帮助。现在 jQuery 正在运行。
但是:我有一个 PHP 验证没有通过 jQuery 禁用的字段。为什么?
否则,我不想通过 jquery 添加/删除动态隐藏字段,因为当用户收到邮件时,他会看到隐藏字段值,这些值不是“真实”值,而是像“ some1", "some2" ecc。
如何避免这种情况并使用禁用字段而不是通过 php 验证?
【问题讨论】:
-
.attr('disabled', true)
标签: jquery if-statement input add