Jquery没有刷新元素的值

jquery not refreshing the value of an element

本文关键字:元素 刷新 Jquery      更新时间:2023-09-26

我有一个应用程序,我有两个按钮。每个都将动态生成一个jquery UI对话框

$("<div class='dialog' style='font-size:12px' />").load(base_url + "/students/edit_profile/load_new_emp_form").dialog(options);
}
 $("<div class='dialog' style='font-size:12px' />").load(base_url + "/students/edit_profile/load_new_edu_form").dialog(options);
    }

这两个对话框都有一个带有相同id #actBtn按钮的表单。我为这个按钮设置了一个公共处理程序,因为两个对话框都具有提交数据的相同操作。常用的处理函数是

$("#addBtn").live("click", function(){
    var pst = {};
    pst = $(this).parent().serializeArray();
    var clbk = $("#clbk").val();    
    var tbl = "";
    tbl = $("#tbl").val();
    $.post(base_url + "/general/insert_new_entity/" + tbl, pst, function(data){
        $("#" + clbk).click();
    });
});

正如你所看到的,这将序列化当前显示的表单,并且该表单将有一个输入隐藏元素,id为tbl,指定该表单数据将存放的表名。

我的问题是加载一个表单后,下一次表名保持不变,它没有得到更新与当前表名。知道为什么吗?

ID更新:

我知道ID应该是唯一的,即使在我的情况下,它们也是唯一的。虽然这两个表单具有相同ID的元素,但它们不能同时存在于DOM中。它们是模态对话框,在任何时间点只能打开一个对话框,因此DOM中只能存在一个具有相同ID的元素。

根据定义,ID应该是唯一的。首先要解决的问题是你有两个孩子。具有相同ID的多个元素会导致不可预测的行为。