Do not refresh the data in the database

xiaoxiao2021-03-06  110

I often encounter this situation when I as an ASP program:

Column data in the database (such as all employee names) is listed in the list box, and the program requirements select one or more of the submitted to the next page.

But trouble is that if data (such as employees) will bring trouble to customers - to be positioned from a long list. The best solution is that the user performs data positioning in the way before choosing a fuzzy query, accurately identify the employee name, then select, and submit it.

The problem appears in front of our programmer: How to filter data from the database without refreshing the page filtering from the database. There are two kinds of methods:

1. Methods with dual list boxes

2, use XML method

This article mainly introduces the first method: method of using a dual list box

Programming ideas:

With a dual list box, one is a hidden state and the other is a list box that is displayed to the user.

The program begins to put data (such as employee name) into two list boxes.

This enables the content that does not refresh the new page filtering the database.

achieve:

The following is an example of SQL Server, and the employee name of the Employees table in the Northwind library will be filtered.

Method for new page query </ title> <meta http-equiv = "content-type" content = "text / html; charset = GB2312> </ head> <script language = "JavaScript"> Function search_onclick () {// gets the name of the filter Employee SearchText = WINDOW.SearchContent.Value; // Remove the options in all query results list J = Searchobj.Length; for (i = j-1 ; I> = 0; I -) {searchobj.remove (i);} if (searchText! = ") {// Display Employee J = SearchSource.Length; for (i = 0; i < J; i ) {searchSource = searchSource.Options (i) .Text; k = searchsource.indexof (searchText); if (k! = - 1) {Option1 = document.createElement ("option"); option1.text = SearchSource Option1.Value = SearchSource.Options (i) .Value; searchobj.add (option1);}}} else {// If there is no input query condition, all employee members J = SearchSource.length; for (i = 0; i <j; i ) {searchsource = searchSource.options (i) .text; option1 = document.createElement ( "option"); option1.text = searchsource; option1.value = searchSource.options (i) .value; searchObj.add ( Option1);}}}</p> <p></ script> <body bgcolor = "# fffff" text = "# 000000"> <% servername = "WYB" server name user = "sa" username PW = "" "user password DatabaseName =" northwind " Database name set conn = server.createObject ("adodb.connection") conn.open "Driver = SQL Server; Server =" & ServerName & "; UID =" & User & "; PWD =" & PW & "; Database =" & DatabaseName Set RS = Server .CreateObject ("adodb.recordset") SQL = "SELECT EMPLOYEES ORDER BY EMPLOYEEID" rs.open sql, conn%> <table width = "80%" border = "1"> <tr> <td> <input type = "text" name = "searchcontent"> <input type = "button" name = "button" value = "query" οnclick = "javaScript: return search_onclick ()> </ td> </ tr> < Tr> <TD> Query Results <br> <select name = "Searchobj" size = "10"> <% do while not rs.eof%> <option value = "<% = rs (" EmployeeID ")%>" > <% = rs ("LastName")%> </ option> <% rs.movenextLoop%> </ select> <select name = "searchsource" size = "10" style = "display: none> <% rs .MOVEFIRSTDO WHILE NOT RS.EOF%> <option value = "<% = rs (" EmployeeID ")%>> <% = rs (" Lastname ")%> </ option> <% rs.movenextLoop%> </ select> </ td></p></div><div class="text-center mt-3 text-grey"> 转载请注明原文地址:https://www.9cbs.com/read-103020.html</div><div class="plugin d-flex justify-content-center mt-3"></div><hr><div class="row"><div class="col-lg-12 text-muted mt-2"><i class="icon-tags mr-2"></i><span class="badge border border-secondary mr-2"><h2 class="h6 mb-0 small"><a class="text-secondary" href="tag-2.html">9cbs</a></h2></span></div></div></div></div><div class="card card-postlist border-white shadow"><div class="card-body"><div class="card-title"><div class="d-flex justify-content-between"><div><b>New Post</b>(<span class="posts">0</span>) </div><div></div></div></div><ul class="postlist list-unstyled"> </ul></div></div><div class="d-none threadlist"><input type="checkbox" name="modtid" value="103020" checked /></div></div></div></div></div><footer class="text-muted small bg-dark py-4 mt-3" id="footer"><div class="container"><div class="row"><div class="col">CopyRight © 2020 All Rights Reserved </div><div class="col text-right">Processed: <b>0.042</b>, SQL: <b>9</b></div></div></div></footer><script src="./lang/en-us/lang.js?2.2.0"></script><script src="view/js/jquery.min.js?2.2.0"></script><script src="view/js/popper.min.js?2.2.0"></script><script src="view/js/bootstrap.min.js?2.2.0"></script><script src="view/js/xiuno.js?2.2.0"></script><script src="view/js/bootstrap-plugin.js?2.2.0"></script><script src="view/js/async.min.js?2.2.0"></script><script src="view/js/form.js?2.2.0"></script><script> var debug = DEBUG = 0; var url_rewrite_on = 1; var url_path = './'; var forumarr = {"1":"Tech"}; var fid = 1; var uid = 0; var gid = 0; xn.options.water_image_url = 'view/img/water-small.png'; </script><script src="view/js/wellcms.js?2.2.0"></script><a class="scroll-to-top rounded" href="javascript:void(0);"><i class="icon-angle-up"></i></a><a class="scroll-to-bottom rounded" href="javascript:void(0);" style="display: inline;"><i class="icon-angle-down"></i></a></body></html><script> var forum_url = 'list-1.html'; var safe_token = 'RUGcjScv4LrcoRwwkU_2Bmz3gxpA_2Bo4ASVgtfHY7BPVafvongm5U_2F_2BRvfDNKj39cGTi7bWGnlSLKYwAf8SaZft1Q_3D_3D'; var body = $('body'); body.on('submit', '#form', function() { var jthis = $(this); var jsubmit = jthis.find('#submit'); jthis.reset(); jsubmit.button('loading'); var postdata = jthis.serializeObject(); $.xpost(jthis.attr('action'), postdata, function(code, message) { if(code == 0) { location.reload(); } else { $.alert(message); jsubmit.button('reset'); } }); return false; }); function resize_image() { var jmessagelist = $('div.message'); var first_width = jmessagelist.width(); jmessagelist.each(function() { var jdiv = $(this); var maxwidth = jdiv.attr('isfirst') ? first_width : jdiv.width(); var jmessage_width = Math.min(jdiv.width(), maxwidth); jdiv.find('img, embed, iframe, video').each(function() { var jimg = $(this); var img_width = this.org_width; var img_height = this.org_height; if(!img_width) { var img_width = jimg.attr('width'); var img_height = jimg.attr('height'); this.org_width = img_width; this.org_height = img_height; } if(img_width > jmessage_width) { if(this.tagName == 'IMG') { jimg.width(jmessage_width); jimg.css('height', 'auto'); jimg.css('cursor', 'pointer'); jimg.on('click', function() { }); } else { jimg.width(jmessage_width); var height = (img_height / img_width) * jimg.width(); jimg.height(height); } } }); }); } function resize_table() { $('div.message').each(function() { var jdiv = $(this); jdiv.find('table').addClass('table').wrap('<div class="table-responsive"></div>'); }); } $(function() { resize_image(); resize_table(); $(window).on('resize', resize_image); }); var jmessage = $('#message'); jmessage.on('focus', function() {if(jmessage.t) { clearTimeout(jmessage.t); jmessage.t = null; } jmessage.css('height', '6rem'); }); jmessage.on('blur', function() {jmessage.t = setTimeout(function() { jmessage.css('height', '2.5rem');}, 1000); }); $('#nav li[data-active="fid-1"]').addClass('active'); </script>