jquery没有刷新元素的值

时间:2011-09-05 05:52:00

标签: javascript jquery

我有一个应用程序,其中有两个按钮。每个都将使用

动态生成一个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的输入隐藏元素,指定此表单数据的表名。

我的问题是在下次tbl名称保持不变时加载一个表单后,它没有使用当前表名更新。任何想法为什么会这样?

有关ID的更新:

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

1 个答案:

答案 0 :(得分:2)

根据定义,

ID应该是唯一的。你有两个这个事实是第一个需要解决的问题。拥有多个具有相同ID的元素会导致不可预测的行为。