我尝试在动态下载后为下拉列表设置默认值,并按以下方式执行此操作:
function editUser() {
// массив для взятий информации о пользователе из таблицы
var userInfo = [];
// $("table").find("tr").each(function () {
//
// if($(this).is(":visible")){
// alert("success");
// console.log("SUCCESS")
// }
// })
var count = 0;
// здесь надо передать одно значение, то есть один ряд с инфой о пользователе иначе кинуть alert
$("table").find("tr").each(function () {
if ($(this).find("input").is(":checked")) {
count++;
}
});
if (count <= 1) {
$("table").find("tr").each(function () {
if ($(this).find("input").is(":checked")) {
$(this).find("td").each(function () {
userInfo.push(this.innerHTML);
})
return false;
}
count = 0;
});
}
else {
alert("Выбрано больше одного значения");
if ($("#tableForUser").length != 0) {
getUsers();
count = 0;
return;
}
if ($("#tableForOwners").length != 0) {
getOwners();
count = 0;
return;
}
if ($("#tableForDrivers").length != 0) {
getDrivers();
count = 0;
return;
}
}
console.log(userInfo);
// alert("SUCCESS");
console.log(listCities);
$("#head").children().remove();
var trHTML = '';
trHTML += '<form id="changeForm" class="form-horizontal" role="form">' +
'<input id="inputID" class="form-control" type="text" style="visibility:hidden">' +
'<div class="form-group">' +
'<label class="col-lg-3 control-label">Ник:</label>' +
'<div class="col-lg-8">' +
'<input id="inputNick" class="form-control" type="text">' +
'</div>' +
'</div>' +
'<div class="form-group">' +
'<label class="col-lg-3 control-label">Имя:</label>' +
'<div class="col-lg-8">' +
'<input id="inputFirstname" class="form-control" type="text">' +
'</div>' +
'</div>' +
'<div class="form-group">' +
'<label class="col-lg-3 control-label">Фамилия:</label>' +
'<div class="col-lg-8">' +
'<input id="inputLastname" class="form-control" type="text" >' +
'</div>' +
'</div>' +
'<div class="form-group">' +
'<label class="col-lg-3 control-label">Мобильный телефон:</label>' +
'<div class="col-lg-8">' +
'<input id="inputMobile"class="form-control" type="text">' +
'</div>' +
'</div>' +
'<div class="form-group">' +
'<label class="col-lg-3 control-label">Электронная почта:</label>' +
'<div class="col-lg-8">' +
'<input id="inputEmail" class="form-control" type="text">' +
'</div>' +
'</div>' +
'<div class="form-group">' +
'<label class="col-lg-3 control-label">Город:</label>' +
'<div class="col-lg-8">' +
'<div class="ui-select">' +
'<select id="cities" class="form-control">' +
'</select>' +
'</div>' +
'</div>' +
'</div>' +
'<div class="form-group">' +
'<label class="col-md-3 control-label">Пароль:</label>' +
'<div class="col-md-8">' +
'<input id="inputPassword1" class="form-control" type="password">' +
'</div>' +
'</div>' +
'<div class="form-group">' +
'<label class="col-md-3 control-label">Подтвердите пароль:</label>' +
'<div class="col-md-8">' +
'<input id="inputPassword2" class="form-control" type="password">' +
'</div>' +
'</div>' +
'<div class="form-group">' +
'<label class="col-md-3 control-label"></label>' +
'<div class="col-md-8">' +
// '<input type="button" class="btn btn-primary" onclick="saveChanges();" value="Save Changes">'
'<button type="button" class="btn btn-primary" onclick="saveChanges();">Сохранить</button><br>' +
'<span></span>' +
'<button type="button" class="btn btn-default" onclick="">Отменить</button><br>' +
'</div>' +
'</div>' +
'</form>';
$("#head").append(trHTML);
if (userInfo[1] == null) {
alert("Выберите пользователя для редактирования");
$("#head").children().remove();
}
else {
//Записываем индекс
// massChanges.push(userInfo[0]);
// console.log(massChanges);
$(getCities().done(function () {
document.getElementById("inputID").value = userInfo[0];
document.getElementById("inputNick").value = userInfo[1];
document.getElementById("inputFirstname").value = userInfo[2];
document.getElementById("inputLastname").value = userInfo[3];
document.getElementById("inputMobile").value = userInfo[4];
document.getElementById("inputEmail").value = userInfo[5];
$("#cities").val(userInfo[6]);
// $('cities option:contains(userInfo[6])').prop('selected',true);
document.getElementById("inputPassword1").value = userInfo[7];
document.getElementById("inputPassword2").value = userInfo[7];
userInfo = [];
}))
}
}
其中函数getCities()声明为:
var listCities = [];
var city;
function getCities() {
$.ajax({
type: "GET",
url: "/admin/getCities",
datatype: "json",
success: function (response) {
$.each(response, function (i, item) {
listCities.push(item);
});
$.each(listCities, function (i, item) {
city += '<option>' + item + '</option>';
})
$("#cities").append(city);
},
error: function () {
alert("error")
}
})
}
但每次我都会收到以下错误: 无法阅读已完成的财产&#39;在editUser中未定义。有什么想法可以解决这个问题吗?
答案 0 :(得分:0)
但每次我都会听到以下错误:无法读取属性&#39;已完成&#39;的 在editUser上未定义。有什么想法我可以解决这个问题 问题
您正在将getCities()
的函数调用传递给jQuery()
,它没有.done()
方法。删除围绕jQuery()
电话
getCities()
封包器
getCities().done(function(){/* do stuff */})
此外,return
$.ajax()
来自getCities
函数
function getCities() {
return $.ajax(/* settings */)
}