Nethaji chennai Ответов: 1

Создание динамического выпадающего списка не работает для меня


я хочу создать динамический dropdownlist при вызове функции в javascript и заполнить drodownlist базой данных с помощью ajax

Что я уже пробовал:

function dropdownlistbind(cn, dropdownid, tablename) {
    var obj = {};
    obj.coluname = cn;
    obj.tablename = tablename;
    $.ajax({
        url:         "webmethod.aspx/dropdownbine",
        data:        JSON.stringify(obj),
        dataType:    "json",
        type:        "POST",
        contentType: "application/json; charset=utf-8",
        success: function(r) {
            var data = new Array();
            var len = r.d.length;
            for (var i = 0; i < len; i++) {
                data[i] = r.d[i];
            }
            alert(data);
            return data;
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
            alert('Got an Error ');
        }
    });
}

function addSelect(divname, columname, dropid, tablename) {
    var newDiv = document.createElement('div');
    var strin = "ffgggffggf";
    var html = '<select>', filter = dropdownlistbind(columname, dropid, tablename), i;
    alert();
    for (i = 0; filter.length; i++) {
        html += "<option value='" + filter[i] + "'>" + filter[i] + "</option>";
    }
    html += '</select>';
    newDiv.innerHTML = html;
    document.getElementById(divname).appendChild(newDiv);
}

njammy

Пожалуйста, можете ли вы опубликовать текст ошибки, которую вы получаете. Или сделайте скриншот и загрузите его по ссылке imgur share.

Nethaji chennai

выпадающий список, привязать пустые данные.после первого запуска фильтра показывать предупреждение, Сообщение дисплее оповещений

njammy

Okay......so -снова спрашиваю я...в чем же ошибка

1 Ответов

Рейтинг:
9

Karthik_Mahalingam

Вы не можете вернуть значение из Success функция обратного вызова ajax call вместо этого вы должны написать всю свою логику внутри обратного вызова успеха.

function addSelect(divname, columname, dropid, tablename) {

           var newDiv = document.createElement('div');
           var html = '<select>'
           var obj = {};
           obj.coluname = cn;
           obj.tablename = tablename;

           $.ajax({
               url: "webmethod.aspx/dropdownbine",
               data: JSON.stringify(obj),
               dataType: "json",
               type: "POST",
               contentType: "application/json; charset=utf-8",
               success: function (r) {

                   var result = r.d;
                   for (i = 0; i < result.length; i++)
                       html += "<option value='" + result[i] + "'>" + result[i] + "</option>";

                   html += '</select>';
                   newDiv.innerHTML = html;
                   document.getElementById(divname).appendChild(newDiv);

               },
               error: function (XMLHttpRequest, textStatus, errorThrown) {
                   alert('Got an Error ');
               }
           });

       }


Nethaji chennai

спасибо Karthik за его работу

Karthik_Mahalingam

крутой.