【工作笔记0002】(ajax)多个select标签异步取值刷新

16 篇文章 0 订阅
9 篇文章 0 订阅

需求:点击其中一个select的option,另一个select中呈现被查询出的数据结果。例如:


实现:运用JavaScript + ajax + json遍历实现异步刷新。

步骤:

1.绑定js函数到select的onclick属性中。例如:

<select name="parent1" id="parent1" size="7" style="height:200px;width:20%" onclick="parent1_SelectedIndexChanged();">  
            
                 <option value="9">设备回收</option>
            
                 <option value="10">设备出售</option>
            
        </select> 
2.编写js函数。例如:

function parent1_SelectedIndexChanged() {
         $('#parent3').empty();
         var obj = document.getElementById("parent1");
         var index = obj.selectedIndex;
         var val = obj.options[index].value;
         $.ajax({
             type: "GET",
             url: "/siteadmin/productsys/add.aspx?act=search&id=" + val,
             dataType: "json",
             success: function(data) {
                $('#parent2').empty();  //清空第二个select标签的option选项
                var html = '';
                 for (var i = 0; i < data.length; i++) {
                     html += '<option value="' + data[i].ID + '">' + data[i].ClassName + '</option>';//遍历后台返回的序列化后的json数据集合
                 }
                 $('#parent2').html(html);
             },                      
             error: function(msg) {
                 alert("查询失败!");
             }
            });
     }

3.编写后台查询函数。注意在得到查询结果集合(一般为model或者datatable对象)后,需要调用相关的序列化函数(不同编程语言调用方法略微不同,但函数名称基本都为Serialize)将其序列化,最后调用Response.Write(str);Response.End();方法将字符串写入http输出流并发送到客户端浏览器。


这里注意不同的MVC框架对序列化的处理不同,此处列出的是.net3.5类库下asp.net开发用例。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值