本文实例讲述了jquery+json实现数据二级联动的方法。分享给大家供大家参考,具体如下:
function getcityinfo1() { $(#ddlcity1).empty(); //$(#ddlcounty).empty(); var strid = $(#ddlprovince1).attr(value); $('#hiddenpro').val(strid); $.get(../ashx/getcityinfo.ashx,{proid:strid,date:new date().gettime(),protype:getcity},function(result) { $(#ddlcity1).append($().val(0).html(--请选择城市--)); var datas=eval(result); for(var j in datas) { $(#ddlcity1).append($().val(datas[j].ccode).html(datas[j].cityname)); } //获取区的信息 //getcountryinfo(); }); }
后台代码:
if (context.request.querystring[proid] != null && context.request.querystring[protype] != null) { string pcode = convert.tostring(context.request.querystring.getvalues(proid)[0]); string strsql = select cityname,ccode from cd_cityinfo where pcode=' + pcode + ' ; //执行t-sql语句 返回datatable datatable dt = snell.sncode.database.sqlserverhelper.query(strsql).tables[0]; stringbuilder sb = new stringbuilder(); sb.append(createjsonparameters(dt)); //根据省份编号获取信息 获取信息 if (sb.length > 0) { context.response.clearcontent(); context.response.contentencoding = system.text.encoding.utf8; context.response.write(sb.tostring()); context.response.end(); } }#region 根据datatable的数据结构转换成json数据 public string createjsonparameters(datatable dt) { system.text.stringbuilder sb = new system.text.stringbuilder(); if (dt != null && dt.rows.count > 0) { sb.append([); for (int i = 0; i < dt.rows.count; i++) { sb.append({); for (int j = 0; j < dt.columns.count; j++) { //如果值不是最后一个则添加逗号分隔 if (j < dt.columns.count - 1) { sb.append(\ + dt.columns[j].columnname.tostring() + \: + \ + dt.rows[i][j].tostring() + \,); } //如果值为最后个字符则不添加逗号 else if (j == dt.columns.count - 1) { sb.append(\ + dt.columns[j].columnname.tostring() + \: + \ + dt.rows[i][j].tostring() + \); } } //如果为最后一个值的话 则不添加逗号 if (i == dt.rows.count - 1) { sb.append(}); } else { sb.append(},); } } sb.append(]); return sb.tostring(); } else { return null; } } #endregion
希望本文所述对大家jquery程序设计有所帮助。