autocomplete是jqueryUI的一个插件,可以实现自动填充的功能。

要点:1、应用了母版页,所以取页面上控件的ID时与一般方法不同

2、由于用了ajax的updatepanel,所以会出现第一次可以正常显示,updatepaenl更新页面以后就不行了(页面刷新后第二次就无法正常使用)的问题

3、在ModalPopupExtender关联的PANEL中应用时,autocomplete下拉框老是显示在底层,被PANEL覆盖,无法正常使用

本次用法:在界面上updatepanel中放置两个TEXTBOX控件:txtBox1、txtBox2、查询按钮;在ModalPopupExtender关联的PANEL中放置txtBox3、及保存按钮

txtBox1中放置从数据库中读取的记录值,以逗号分隔;txtBox2、txtBox3关联autocomplete,显示同样的内容。在脚本中实现将txtBox1中的值传给数组,然后添加到autocomplete下拉框,然后分别关联到txtBox2、txtBox3。

实现:

在源中添加引用及实现脚本

<%@ Page Title="测试" Language="C#" MasterPageFile="~/Mast.master" AutoEventWireup="true" CodeFile="Test.aspx.cs" Inherits="WeihuJzxDtxx" %>

<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="cc1" %>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">  

可以隐隐约约网上的也可以引用自己本地的(本地的注意js前是/不是~/),样式也可以在母版页中引用
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<%--<link rel="stylesheet" href="/js/jquery-ui.css" />--%>
<%--<link rel="stylesheet" href="/js/jquery.ui.autocomplete.css" />--%>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script> <asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="server">
</asp:ScriptManagerProxy>
<script type ="text/javascript">

//下面一句实现页面局部刷新时autocomplete任然有效
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(onPageLoaded);
function onPageLoaded() {
var getValue = document.getElementById('<%=txtBox1.ClientID%>').value;
var availableTags = getValue.split(",");
$("#ctl00_ContentPlaceHolder1_txtBox2").autocomplete({
source: availableTags
});
$("#ctl00_ContentPlaceHolder1_txtBox3").autocomplete({
source: availableTags
});
};
</script>

脚本中取应用母版页的页面上的控件的ID:document.getElementById('<%=txtBox1.ClientID%>')或直接写为ctl00_ContentPlaceHolder1_txtBox2

避免单击txtBox3时autocomplete下拉框被遮挡:修改jquery-ui.css中autocomplete的值如下 ,增加z-index: ;
使其始终保持在最上层(日历控件被遮挡也是采用这种修改方法)

.ui-autocomplete {
position: absolute;
top: ;
left: ;
cursor: default;
z-index: ;
}

在母版中引用本地放置的样式方法

<link href="App_Themes/jquery-ui.css" rel="stylesheet" type="text/css" />

参考文件1:

http://jqueryui.com/autocomplete/

<!doctype html>

<html lang="en">
<head>
<meta charset="utf-8" />
<title>jQuery UI Autocomplete - Default functionality</title>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css" />
<script>
$(function() {
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
];
$( "#tags" ).autocomplete({
source: availableTags
});
});
</script>
</head>
<body> <div class="ui-widget">
<label for="tags">Tags: </label>
<input id="tags" />
</div> </body>
</html>

参考文件2:

http://bbs.csdn.net/topics/390008006

 <asp:ScriptManager ID="ScriptManager1" runat="server">

    </asp:ScriptManager>
<script type="text/javascript" language="javascript"> //给ScriptManager的实例 添加加载成功后需要执行的js方法
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(onPageLoaded); function onPageLoaded(sender, args) { alert("here"); function formatItemForLog(row){ return row[];
} $("#auto").autocomplete("GetProjectPhasesList.aspx?UnitID=18",{
scroll:true,
formatItem:formatItemForLog,
cacheLength:,
delay:,
width:'150px',
selectFirst:false,
notRedirect:false
}); alert("here2")
} </script>

asp.net在应用母版的页面下采用了ModalPopupExtender弹出窗中应用autocomplete的更多相关文章

  1. 在ASP.NET MVC4中实现同页面增删改查,无弹出框02,增删改查界面设计

    在上一篇"在ASP.NET MVC4中实现同页面增删改查,无弹出框01,Repository的搭建"中,已经搭建好了Repository层,本篇就剩下增删改查的界面了......今 ...

  2. bootstrap-data-target触发模态弹出窗元素的data使用 data-toggle与data-target的作用 深入ASP.NET MVC之九:Ajax支持 Asp.Net MVC4系列--进阶篇之AJAX

    bootstrap-data-target触发模态弹出窗元素的data使用 时间:2017-05-27 14:22:34      阅读:4479      评论:0      收藏:0      [ ...

  3. Web标准:八、下拉及多级弹出菜单

    Web标准:八.下拉及多级弹出菜单 知识点: 1.带下拉子菜单的导航菜单 2.绝对定位和浮动的区别和运用 3.CSS自适应宽度滑动门菜单   1)带下拉子菜单的导航菜单 带下拉子菜单的就是在一级导航下 ...

  4. firefox浏览器中 bootstrap 静态弹出框中select下拉框不能弹出(解决方案)

    问题出现场景1: 在firefox浏览器中在bootstrap弹出的modal静态框中再次弹出一个静态框时 select下拉框不能弹出选项 解决方案:去掉最外层静态框的 tabindex=" ...

  5. easyui弹出窗关闭前调用确认窗口,先关闭页面后调用弹出窗口

    弹出窗关闭的时候提示是否关闭,同时进行一些对应的方法调用, 然而在进行页面关闭调用的时候,往往页面关闭了,才弹出确认对话框, $.messager.confirm和panel的onBeforeClos ...

  6. selenium获取新页面标签页(只弹出一个新页面的切换)

    selenium获取新页面标签页(只弹出一个新页面的切换) windows = driver.current_window_handle #定位当前页面句柄 all_handles = driver. ...

  7. ideal取消按下两次shift弹出搜索框 修改idea,webstrom,phpstrom 快捷键double shift 弹出search everywhere

    因为经常需要在中英文之间切换,所以时常使用shift键,一不小心就把这个Searchwhere 对话框调出来了,很是麻烦. 因此痛定思痛, 我决定将这个按两下shift键就弹出搜索框的快捷键禁用了! ...

  8. 在ASP.NET MVC4中实现同页面增删改查,无弹出框01,Repository的搭建

    通常,在同一个页面上实现增删改查,会通过弹出框实现异步的添加和修改,这很好.但有些时候,是不希望在页面上弹出框的,我们可能会想到Knockoutjs,它能以MVVM模式实现同一个页面上的增删改查,再辅 ...

  9. 解决IE6下select显示在弹出框上问题

    利用定位position:absolute;z-index:1;和iframe[z-index:-1]来解决此问题,最好根据需要加上: border='0' frameborder='0' scrol ...

随机推荐

  1. JavaScript高级程序设计1.pdf

    第一遍通读的时候对JavaScript一点都不了解翻了一整本书仅仅是眼熟的几个名词,现在会写一些js效果了,对程序有一定的认知,又要在读一遍,再加深一些了解,当然以后还会有第三遍第四遍,等完全啃透了这 ...

  2. CentOS相关引导文件杂摘

    1,EFI文件

  3. Spring注入-Map

    在spring框架中为Map注入属性 1map映射的对象创建 package com; /** * Map集合在spring中的使用测试 */ public class User { private ...

  4. 通过代码来执行testng.xml

    大多数时候,我们都是通过Eclipse IDE上的操作命令来执行testng 框架下的case 运行.那如果我们不想通过这种方式,而是想通过代码调用来实现执行该怎么办?下面是我搜集的两种方式供大家参考 ...

  5. winform 子窗体数据改变刷新父窗体 分类: WinForm 2014-05-06 18:30 246人阅读 评论(0) 收藏

    两种方法实现: 第一种,传时间变量,主窗体要不停的刷新数据,占用资源比较大. 第二种,用this,感觉比较好用,建议用这种方法. 举例: 主窗体命名:FormA; 子窗体命名:FormB; 数据绑定方 ...

  6. mysql 主从同步配置

    1  环境 mac air 主机做 主库,使用的是XAMPP自带的mysql 版本为 5.6.21, for osx10.6 (x86_64) 虚拟机mysql 做从库  版本为 5.5.38, fo ...

  7. 【android】ImageView的src和background的区别以及两者的妙用

    一.ImageView中XML属性src和background的区别: background会根据ImageView组件给定的长宽进行拉伸,而src就存放的是原图的大小,不会进行拉伸 .src是图片内 ...

  8. 用的最多的Android Studio 快捷键

    1.Ctrl+D,Ctrl+C 复制删除整一行 2.Ctrl+Alt+L 格式化代码 看起来更好看 3.Ctrl+Q 查看函数API定义 4.Atl+方向键 切换不同文档 平时用快捷键能够提高效率,少 ...

  9. MySQL 5.6初始配置调整

    原文链接: What to tune in MySQL 5.6 after installation原文日期: 2013年09月17日翻译日期: 2014年06月01日翻译人员: 铁锚 随着 大量默认 ...

  10. Google技术专家的建议:各种SdkVersion如何选择?

    原文链接: https://medium.com/google-developers/picking-your-compilesdkversion-minsdkversion-targetsdkver ...