我在设置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);
});
答案 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);
});
});