如何清除asp下拉列表并使用ajax填充?

时间:2011-10-13 08:46:15

标签: ajax vb.net jquery drop-down-menu

我想要做的是让用户更改一个下拉列表,然后调用一个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 :(得分:0)

我假设您知道如何通过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迭代数据对象

你可以尝试这些方面的事情......希望这会有所帮助。

答案 1 :(得分:0)

我很糟糕 - 你可以写这样的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
            }     
    });