JQuery - 如何删除'禁用'来自页面加载的所有表单输入

时间:2014-07-11 18:42:20

标签: jquery forms addclass document-ready disabled-input

我正在加载一个包含所有输入和页面的页面。选择以禁用的形式选择。我有“编辑”脚本,单击按钮时可以完美地工作,但是当记录为“新”时,我正在尝试在页面加载上执行相同的操作。无论WHY是否有意义,这是代码:

<?php  if($_GET['new'] == "yes"){  ?>
<script>
$(document).ready(function(){
    $('#save').removeClass('hidden');
    $('#edit,#addnotes,#addtasks').addClass('hidden');
    var form = $(this).closest('form').find('input').prop('disabled', false);
    var form = $(this).closest('form').find('select').prop('disabled', false);
    form.children('input').removeAttr("disabled");
});
</script>
<?php }  ?>

$('#save').removeClass('hidden');工作得很好,下一行也是如此,但表单部分不起作用。以下是单击页面上的“编辑”按钮时的工作原理:

$('#edit').on("click", function(e){
    e.preventDefault();
    var form = $(this).closest('fieldset').find('input').prop('disabled', false);
    var form = $(this).closest('fieldset').find('select').prop('disabled', false);
    form.children('input').removeAttr("disabled");
    $('#save,#cancel').removeClass('hidden');
    $('#edit,#addnotes,#addtasks').addClass('hidden');
});

1 个答案:

答案 0 :(得分:0)

在DOM准备中,thisclick事件中的内容不同。由于您的点击事件是#edit上的绑定,您可以(完全相同)将每个this替换为'#edit'

$(document).ready(function(){
    $('#save').removeClass('hidden');
    $('#edit,#addnotes,#addtasks').addClass('hidden');
    var form = $('#edit').closest('form').find('input').prop('disabled', false);
    var form = $('#edit').closest('form').find('select').prop('disabled', false);
    form.children('input').removeAttr("disabled");
});