我有下面的代码在选择框中应该动态地启用/禁用输入字段/ textarea/select中的属性“禁用”,但代码根本不起作用:使用jQuery禁用/启用动态输入/ textarea/select字段
$(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禁用的fiedls。为什么?
否则,我不想通过jquery添加/删除动态隐藏字段,因为当用户收到邮件时,他会看到隐藏的字段值,它们不是“真正”的值,但值“some1”,“some2”ecc。
如何避免这种情况,并使用diasabled领域,而不是通过PHP验证?
.attr('disabled',true) – Matheus 2013-03-22 16:19:40