#javascript #jquery #ajax #asp.net-mvc
#javascript #jquery #ajax #asp.net-mvc
Вопрос:
я пытаюсь привязать выпадающий список из ajax success, но застрял. подробная модель класса для выпадающего значения
public class Ipcell
{
public List<ddlupc> upcList { get; set; }
}
public class ddlupc
{
public string UscCode { get; set; }
public string UscDesc { get; set; }
}
функция, в которой выпадающий список генерируется динамически при нажатии кнопки добавления
function insRow() {
i ;
let newRowContent = "<tr>"
"<td> <select name='upclist' class='form-control' id='upcList" i "'><option selected='selected'>Select</option></select></td>"
"<td><input type='button' style='margin-left:2%;' value='Add' id='abc' name='grdbtn' class='btnrowvalue3' onclick='insRow()' /></td>"
"</tr>";
$("#ipcelltbll tbody").append(newRowContent);
if (i>0) {
$.ajax({
url: "../Home/GetupcData",
datatype: "JSON",
type: "Get",
success: function(data) {
debugger;
for (var j = 0; j < data.upcList.length; j ) {
var opt = new Option(data.upcList[i]);
var tr = $('input[name="grdbtn"]:click').closest('tr');
tr.find('select[name="upclist"]').append(opt);
}
}
});
}
Я застрял в var opt = new Option(data.upcList[i]);
том, что не получаю точного синтаксиса, как сделать
ошибку получения: VM428: 1 Неперехваченная ошибка типа: не удалось создать ‘Option’: Пожалуйста, используйте оператор ‘new’, этот конструктор объектов DOM не может быть вызван как функция.
значения, возвращаемые из кода контроллера
public JsonResult GetupcData()
{
List<Ipcell> result1 = new List<Ipcell>();
conn.Open();
string qry1 = "select IUM_USC_CODE,IUM_USC_DESC from V_IP_USC_MAST order by IUM_USC_CODE";
OracleCommand command1 = new OracleCommand(qry1, conn);
OracleDataReader reader1 = command1.ExecuteReader();
List<ddlupc> objlist = new List<ddlupc>();
Ipcell member1 = new Ipcell();
while (reader1 != null amp;amp; reader1.Read())
{
objlist.Add(new ddlupc { UscCode = reader1[0].ToString(), UscDesc = reader1[0].ToString() ' ' '-' ' ' reader1[1].ToString() });
result1.Add(member1);
}
member1.upcList = objlist;
conn.Close();
Ipcell ipcl = new Ipcell();
ipcl.upcList = result1[0].upcList;
ipcl.CaseId = null;
return Json(ipcl, JsonRequestBehavior.AllowGet);
}
моя задача — привязать значения в выпадающем списке.
Ответ №1:
в разделе Ajax изменилось ли следующее
$.ajax({
url: "../Home/GetupcData",
datatype: "JSON",
type: "Get",
success: function(data) {
debugger;
var s = '<option value="-1">Please Select</option>';
for (var k = 0; k < data.upcList.length; k ) {
s = '<option value="' data.upcList[k].UscCode '">' data.upcList[k].UscDesc '</option>';
}
$("#upcList" i "").html(s);
}
});