如何在文本框中设置值

时间:2013-09-23 09:12:48

标签: html html5 jquery

我在设置texbox值时遇到问题。我正在做的是,在click函数上获取锚标记的id,然后将id拆分为字符串并将这些拆分的字符串设置为不同的字符串。问题是我只能在使用alert()函数时设置文本框值而不使用警报iam无法设置文本框值。这是我的代码

 $(".getPenalties").click(function () {
    var datas = this.id;
    var array_data = String(datas).split("#");
    $("#sbdt").load("../Account/Home/Defaulter.jsp?Staffdefaulter=1");
    var empid = array_data[4].trim(),
        name = array_data[1].trim(),
        dept = array_data[2].trim(),
        penalty = array_data[3].trim(),
        tabid = array_data[0].trim();
    alert(empid);
    $("#Empid").val(empid);
    $("#EmpName").val(name);
    $("#EmpDept").val(dept);
    $("#EmpPenalty").val(penalty);
    $("#hiddendata").val(tabid);
});

2 个答案:

答案 0 :(得分:1)

在加载回调之前,您的元素可能不存在,因此,请尝试使用.load()的回调函数来设置值,例如:

$("#sbdt").load("../Account/Home/Defaulter.jsp?Staffdefaulter=1", function() {
    var empid = array_data[4].trim(),
    name = array_data[1].trim(),
    dept = array_data[2].trim(),
    penalty = array_data[3].trim(),
    tabid = array_data[0].trim();

    $("#Empid").val(empid);
    $("#EmpName").val(name);
    $("#EmpDept").val(dept);
    $("#EmpPenalty").val(penalty);
    $("#hiddendata").val(tabid);
});

答案 1 :(得分:0)

看起来输入字段是使用load()调用动态加载的,所以你需要等到dom加载了输入字段,为此你可以使用加载回调函数

$(".getPenalties").click(function () {
    var datas = this.id;
    var array_data = String(datas).split("#");
    $("#sbdt").load("../Account/Home/Defaulter.jsp?Staffdefaulter=1", function(){
        var empid = array_data[4].trim(),
            name = array_data[1].trim(),
            dept = array_data[2].trim(),
            penalty = array_data[3].trim(),
            tabid = array_data[0].trim();
        $("#Empid").val(empid);
        $("#EmpName").val(name);
        $("#EmpDept").val(dept);
        $("#EmpPenalty").val(penalty);
        $("#hiddendata").val(tabid);
    });

});