使用linq.js操作后台JSON数据到前台select标签
来源:互联网 发布:淘宝买csgo怎么下载 编辑:程序博客网 时间:2024/06/01 09:24
后台JSON数据生成
using System.Web.Services;//要应用这个空间
[WebMethod]
public static string Textjson()
{
string sql = "SELECT simid,country,days,simcontent,simprice from simshop";
DataTable dtsim = SqlHelper.ExecuteQuery(sql);
string data= ToJson(dtsim);
return data;
}
Datatable转换为Json
public static string ToJson(DataTable dt)
{
StringBuilder jsonString = new StringBuilder();
jsonString.Append("[");
DataRowCollection drc = dt.Rows;
for (int i = 0; i < drc.Count; i++)
{
jsonString.Append("{");
for (int j = 0; j < dt.Columns.Count; j++)
{
string strKey = dt.Columns[j].ColumnName;
string strValue = drc[i][j].ToString();
Type type = dt.Columns[j].DataType;
jsonString.Append("\"" + strKey + "\":");
strValue = String.Format(strValue, type);
if (j < dt.Columns.Count - 1)
{
jsonString.Append(strValue + ",");
}
else
{
jsonString.Append(strValue);
}
}
jsonString.Append("},");
}
jsonString.Remove(jsonString.Length - 1, 1);
jsonString.Append("]");
return jsonString.ToString();
}
前台联动js
要引用这两个js
<script src="../js/jquery.linq.min.js"></script>
<script src="../js/json2.js"></script>
<%--套餐联动--%>
<script type="text/javascript">
function textjson() {
$.ajax({
type: "Post",
url: "tcorder.aspx/Textjson",
contentType: "application/json; charset=utf-8",
dataType: "json",
//data: "",//传输过去为空,这里可以注释掉
success: function (data) {
//从后台获取的JSON建议放在页面的隐藏域hjson里
$("#hJson").val(data.d);
var aa = eval("(" + data.d + ")");
//从aa里选择出country字段,去重,toobject,也可以toarray、tojson,可以参考相关技术文件
var json = $.Enumerable.From(aa).Distinct("$.country").Select("$.country").ToObject();
$('#s1').empty();
$.each(json, function (index, content) {
$("#s1").append("<option value='" + content + "'>" + content + "</option>");
});
Change2();
},
error: function (e) {
alert(e.message);
}
});
}
function Change2() {
var c = $("#s1").val();
var aa = eval("(" + $("#hJson").val() + ")");
$("#s2").empty();
$.each($.Enumerable.From(aa).Where("$.country=='" + c + "'").Select("$").ToArray(), function (index, content) {
$("#s2").append("<option value='" + content.days + "'>" + content.days + "</option>");
});
// Change3();之后可以继续下一个change,注意content的取值,要和JSON串里的字段名称对应
}
。。。。。。
</script>
HTML页面
<input type="hidden" id="hJson" />
<div id="frm">
<asp:Label ID="lbcountry" runat="server" Text="国家或地区:"></asp:Label>
<select id="s1" name="s1" onchange="Change2()">
<option></option>
</select>
<asp:Label ID="lbdays" runat="server" Text="套餐天数:"></asp:Label>
<select id="s2" name="s2" onchange="Change3()">
<option></option>
</select><br />
<asp:Label ID="lbcontent" runat="server" Text="套 餐 内 容:"></asp:Label>
<select id="s3" name="s3" onchange="Change4()">
<option></option>
</select><br />
<asp:Label ID="lbprice" runat="server" Text="充值参加价:"></asp:Label>
<select id="s4" name="s4" onchange="Change5()">
<option></option>
</select><a>RMB</a>
<select id="s5" style="visibility: hidden;" name="s5">
<option></option>
</select>
</div>
- 使用linq.js操作后台JSON数据到前台select标签
- json 后台传数据到前台
- json+easyUI后台传数据到前台
- 前台js传入json或map类型数据给后台以及后台java接收操作
- SpringMVC中利用json从后台穿数据到前台
- springMVC 前台传递json格式数据到后台
- 后台json数据传送到前台(含datalist)
- js 前台操作json
- ajax json 前台传数据到后台,后台接收并返回json 数据
- JQuery从后台获取数据绑定到HTML标签select
- 从后台传递List到前台js中使用
- SSM框架:解决后台传数据到前台中文乱码问题,使用@ResponseBody返回json 中文乱码
- js 操作select标签
- js操作select标签
- js操作select标签
- 前台js获取到后台json数据,eval解析json后,日期(object)对象转换为date日期格式显示
- AJAX - 前台传JSON到后台
- AJAX - 前台传JSON数组到后台
- basic
- 创意族贺小米七周年庆专题:国际“米淘”热潮
- Picture
- python读写excel文件
- php数组根据某一个键值,把相同键值的合并生成一个新的二维数组
- 使用linq.js操作后台JSON数据到前台select标签
- (优先队列)2506完美网络
- FFmpeg X264 H264编码指南[译]
- 点击锚点不到顶部,向下偏移一段距离
- 阿里云首席安全科学家吴翰清的思考:弹性安全网络,构建下一代安全的互联网
- Android studio中.9图片的含义及制作教程
- POJ-3186-Treats for the Cows
- java中计算两个日期的月数差
- EasyStream系列4之rtmp转rtmp