Как очистить выпадающий список ASP и заполнить с помощью AJAX? - PullRequest
0 голосов
/ 13 октября 2011

То, что я пытаюсь сделать, - это заставить пользователя изменить один выпадающий список, который затем вызывает функцию ajax, которая отправляет код в код (файл vb.net), а затем очищает и заполняет другой выпадающий список asp данными, возвращеннымифункция ... надеюсь, я имел смысл

<script>
  $(document).ready(function () {
        $('.manuf').change(function () {
             $.ajax({
                      type: "POST", 
                      url: "ajax.aspx/GetModel",
                      data: '{' +
                            'ManufID:"' + $('.manuf').val() + '"' +
                           '}',
                      contentType: "application/json; charset=utf-8",
                      dataType: "json",
                      success: function(msg) {
                         var data = json_parse(msg.d);
                         if (data.error) {
                              alert("Error!");
                              return;
                         }

                          alert(data.model);
                      },
                      error: function(msg) {
                          alert('Get Details Failure: ' + msg);
                      }
                  });
        });
    });

</script>  

Ответы [ 2 ]

0 голосов
/ 13 октября 2011

Мое плохое - вы можете написать свой AJAX-вызов следующим образом -

$.ajax({ url :"/website/myurl", type:"POST", contentType:"application/json;", dataType:"json", data : "{ 'id' : '" + $("select[id*=selCurrentManuf]").val() + "' } ",
        success : function (return_data) {
             var data = $.parseJSON(return_data);
             // code to add the contents of data to other list
             $("select[id*=selCurrentModel]").empty().append($("<option>").attr("value","0").text("Choose..."));
             // for the dropdown list clear all options and add a 'choose...' as the first option

            $.each(data, function (i, d) { $("<option>").attr("value", d.k).text(d.v).appendTo($("select[id*=selCurrentModel]")); });

}, error:function () {
             // handle error
            }     
    });
0 голосов
/ 13 октября 2011

Я предполагаю, что вы знаете, как получать данные из бэкэнда через ajax. Как то так -

$.ajax({ url :"/website/myurl", type:"POST", dataType:"application/json"; data:"json", 
    success : function (return_data) {
          var data = $.parseJSON(return_data);
          // code to add the contents of data to other list

        }, error:function () {
         // handle error
        }     
});

Допустим, вы получаете его в переменной data, которая является массивом.

Вы можете попробовать что-то вроде этого -

 $("select[id*=selCurrentModel]").empty().append($("<option>").attr("value", "0").text("Choose..."));
 // for the dropdown list clear all options and add a 'choose...' as the first option

 $.each(data, function (i, d) { $("<option>").attr("value", d.k).text(d.v).appendTo($("#ddlExperience")); });

// user $ .each для итерации объекта данных, который

Вы можете попробовать что-то на этих строках .... Надеюсь, это поможет.

...