<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>JS object instead of DB: jquery.ajax-combobox</title>
<link rel="stylesheet" href="js/jquery.ajax-combobox.css"/>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.ajax-combobox.min.js"></script>
<script type="text/javascript">
/*
https://github.com/sutara79/jquery.ajax-combobox
https://plugins.jquery.com/ajax-combobox/
https://sutara79-php.herokuapp.com/demo/jquery.ajax-combobox/
var items = [];
$.each( data, function( key, val ) {
items.push( "<li id='" + key + "'>" + data[0].CountyCode + "</li>" );
}); $( "<ul/>", {
"class": "my-new-list",
html: items.join( "" )
}).appendTo( "body" );
*/
var data;
$.getJSON( "AjaxComboxHandler.ashx", function(data){
$('#foo').ajaxComboBox(
data,
{
lang: 'hk',
navi_num: 5, //显示几个数字页码
per_page: 15,//每页显示多少条
db_table: 'nation',
field: 'name',
sub_info: true,
show_field:'CountyCode,name,HkName,EnName,CnName,position,IdOrder',//提示可以显示的字段
sub_as: {
CountyCode: '國際區號:', //提示显示的列名
HkName:'繁体中文名:',
EnName: '英文名:',
CnName:'简体中文名:',
position: '所在洲:',
IdOrder:'排序:',//字符串排序 },
select_only: true,
init_record: '00',
primary_key: 'CountyCode',
order_by: [
'IdOrder ASC', // ASC or DESC
'CountyCode'
]
} );
}); </script>
</head>
<body>
<h1>JS object instead of DB: jquery.ajax-combobox</h1>
<form id="Form1" action="" runat="server">
<label for="foo">國家:</label><br>
<asp:TextBox ID="foo" CssClass="foo" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" onClick="this.setSelectionRange(0, this.value.length)/>
</form>
</body>
</html>

  

   /// <summary>
/// $codebehindclassname$ 的摘要说明
/// 塗聚文 涂聚文 Geovin Du
/// 2019-7-22
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class AjaxComboxHandler : IHttpHandler
{
CountyTelCodeBLL telbll = new CountyTelCodeBLL();
/// <summary>
///
/// </summary>
/// <param name="context"></param>
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain"; List<EntityCounty> list = new List<EntityCounty>();
CountyTelCode code = new CountyTelCode();
//code.TelData().DefaultView.Sort = "IdOrder asc";
//DataRow[] drs = code.TelData().Select("", "IdOrder asc"); DataTable dt = telbll.SelectCountyTelCodeDataTableAll(); foreach (DataRow row in dt.Rows) //code.TelData().Rows
{
EntityCounty ec = new EntityCounty();
ec.CountyCode = row["TelCoutyCode"].ToString().Trim();
ec.name = row["SimpleNameHK"].ToString().Trim();
ec.HkName = row["SimpleNameHK"].ToString().Trim();
ec.CnName = row["SimpleNameCN"].ToString().Trim();
ec.EnName = row["SimpleNameEN"].ToString().Trim();
ec.position = row["Continent"].ToString().Trim();
ec.IdOrder = row["IdOrder"].ToString().Trim();
list.Add(ec);
}
//序列化 JavaScriptSerializer
JavaScriptSerializer jss = new JavaScriptSerializer();
string str = jss.Serialize(list);
//返回
context.Response.Write(str); } public bool IsReusable
{
get
{
return false;
}
}
/// <summary>
///
/// </summary>
/// <param name="jsonData"></param>
/// <returns></returns>
private Dictionary<string, object> JsonToDictionary(string jsonData)
{
//实例化JavaScriptSerializer类的新实例
JavaScriptSerializer jss = new JavaScriptSerializer();
try
{
//将指定的 JSON 字符串转换为 Dictionary<string, object> 类型的对象
return jss.Deserialize<Dictionary<string, object>>(jsonData);
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
} /// <summary>
///
/// </summary>
public class EntityCounty
{ private string _CountyCode; /// <summary>
/// [ScriptIgnore] 为不显示
/// </summary>
public string CountyCode
{
get { return _CountyCode; }
set { _CountyCode = value; }
} private string _name;
/// <summary>
///
/// </summary>
public string name
{
get { return _name; }
set { _name = value; }
}
private string _EnName;
/// <summary>
///
/// </summary>
public string EnName
{
get { return _EnName; }
set { _EnName = value; }
} private string _CnName;
/// <summary>
///
/// </summary>
public string CnName
{
get { return _CnName; }
set { _CnName = value; }
}
private string _HkName;
/// <summary>
///
/// </summary>
public string HkName
{
get { return _HkName; }
set { _HkName = value; }
}
private string _position;
/// <summary>
///
/// </summary>
public string position
{
get { return _position; }
set { _position = value; }
} private string _IdOrder;
/// <summary>
///
/// </summary>
public string IdOrder
{
get { return _IdOrder; }
set { _IdOrder = value; }
}
}

  

Csharp:jquery.ajax-combobox的更多相关文章

  1. jquery 的combobox 处理级联

    随笔---jquery 的combobox 处理级联 ------------------------html------------- <select id="groupId&quo ...

  2. IE8/9 JQuery.Ajax 上传文件无效

    IE8/9 JQuery.Ajax 上传文件有两个限制: 使用 JQuery.Ajax 无法上传文件(因为无法使用 FormData,FormData 是 HTML5 的一个特性,IE8/9 不支持) ...

  3. jquery ajax解析

    jQuery确实是一个挺好的轻量级的JS框架,能帮助我们快速的开发JS应用,并在一定程度上改变了我们写JavaScript代码的习惯. 废话少说,直接进入正题,我们先来看一些简单的方法,这些方法都是对 ...

  4. jQuery.ajax 根据不同的Content-Type做出不同的响应

    使用H5+ASP.NET General Handler开发项目,使用ajax进行前后端的通讯.有一个场景需求是根据服务器返回的不同数据类型,前端进行不同的响应,这里记录下如何使用$.ajax实现该需 ...

  5. jQuery.ajax(url,[settings])

    概述 通过 HTTP 请求加载远程数据. jQuery 底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等.$.ajax() 返回其创建的 XMLHttpRequest 对象. ...

  6. jQuery Ajax 实例 ($.ajax、$.post、$.get)

    jQuery Ajax 实例 ($.ajax.$.post.$.get) 转 Jquery在异步提交方面封装的很好,直接用AJAX非常麻烦,Jquery大大简化了我们的操作,不用考虑浏览器的诧异了. ...

  7. jQuery Ajax传值给Servlet,在Servlet里Get接受参数乱码的解决方法

    最近在学jquery ui,在做一个小功能的时候需要将前台的值获取到,通过Ajax传递给Servlet,然后再在返回数据结果,但是在Servlet接受参数的时候,通过后台打印,发现接受乱码,代码示例如 ...

  8. JQuery+Ajax+Struts2+Hibernate 实现完整的登录注册

    写在最前: 下午有招聘会,不想去,总觉得没有准备好,而且都是一些不对口的公司,可是又静不下心来,就来写个博客. 最近在仿造一个书城的网站:http://www.yousuu.com ,UI直接拿来用, ...

  9. 用.NET MVC实现长轮询,与jQuery.AJAX即时双向通信

    两周前用长轮询做了一个Chat,并移植到了Azure,还写了篇博客http://www.cnblogs.com/indream/p/3187540.html,让大家帮忙测试. 首先感谢300位注册用户 ...

  10. jQuery AJAX 网页无刷新上传示例

    新年礼,提供简单.易套用的 jQuery AJAX 上传示例及代码下载.后台对文件的上传及检查,以 C#/.NET Handler 处理 (可视需要改写成 Java 或 PHP). 有时做一个网站项目 ...

随机推荐

  1. 迁移桌面程序到MS Store(13)——动态检查Win10 API是否可用

    假设我们现有一个WPF程序,需要支持1903以前的Windows 10版本.同时在1903以后的版本上,额外多出一个Ink的功能.那么我们就可以通过ApiInformation.IsApiContra ...

  2. IdentityServer4 自定义授权模式

    IdentityServer4除了提供常规的几种授权模式外(AuthorizationCode.ClientCredentials.Password.RefreshToken.DeviceCode), ...

  3. IDEA启动tomcat报java.net.SocketExceptionsocket closed

    IDEA启动tomcat报java.net.SocketException:socket closed.如图所示   解决方法:打开任务管理器,检查有没有java.exe进程. 关闭了重新启动就好了 ...

  4. 在modelarts上部署mask-rcnn模型

    最近老山完成了对mask-rcnn在modelarts上的部署,部署模型来自于这个项目.部署的过程大体和我的上篇文章使用modelarts部署bert命名实体识别模型相似,许多细节也不在赘述.这篇文章 ...

  5. git 使用详解(10)-- 远程分支

    远程分支 远程分支(remote branch)是对远程仓库中的分支的索引.它们是一些无法移动的本地分支:只有在Git 进行网络交互时才会更新.远程分支就像是书签,提醒着你上次连接远程仓库时上面各分支 ...

  6. 基于Java语言的IO操作(文件复制)

    public static void main(String[] args) { //获取复制开始前系统时间毫秒值 long start=System.currentTimeMillis(); //文 ...

  7. HDU-6115

    我们将A省简化为由N个城市组成,某些城市之间存在双向道路,而且A省的交通有一个特点就是任意两个城市之间都能通过道路相互到达,且在不重复经过城市的情况下任意两个城市之间的到达方案都是唯一的.聪明的你一定 ...

  8. HDU-3339 IN ACTION(Dijkstra +01背包)

      Since 1945, when the first nuclear bomb was exploded by the Manhattan Project team in the US, the ...

  9. LSI系列芯片Raid卡配置方法、管理手册

    说明 本手册适用于LSI芯片Raid卡 包括但不限于Inspur 2008/2108 Raid卡.LSI 9240/9260/9261/ 9271 等Raid卡. 不同型号的Raid卡在某些功能上的支 ...

  10. numpy sum axis详解

    axis 先看懂numpy.argmax的含义.那么numpy.sum就非常好理解. 看一维的例子. import numpy as np a = np.array([1, 5, 5, 2]) pri ...