標籤:script false json.js name set opd desc pen 擷取
AJAX 是一種用於建立快速動態網頁的技術。
通過在後台與伺服器進行少量資料交換,AJAX 可以使網頁實現非同步更新。這意味著可以在不重新載入整個網頁的情況下,對網頁的某部分進行更新,使用者體驗非常好。
下面介紹兩種動態載入DropDownList值的方法。
第一種:
View層
<select id="funcNum" name="funcNum"></select><script>$(document).ready(function() { showFuncId();}function showFuncId(){ $(‘#funcNum‘).empty(); var ciValue = $(‘#funcNum‘); ciValue.append(‘<option value="">Pls Select</option>‘); $.ajax({ url : u, //your actual url type : ‘post‘, dataType : ‘json‘, success : function (opts) { if (opts && opts.length > 0) { var html = []; for (var i = 0; i < opts.length; i++) { html.push(‘<option value="‘+opts[i].id+‘">‘+opts[i].desc+‘</option>‘); } ciValue.append(html.join(‘‘)); } } }); }</script>
Controller層
response.setContentType("application/json"); response.setCharacterEncoding("utf-8"); PrintWriter writer = response.getWriter(); net.sf.json.JSONArray array = JSONArray.fromObject(new ArrayList());//The list that contains actual data,use a new arrayList instead here writer.append(array.toString()); return null;
第二種:
View層
<select id="funcNum" name="funcNum"></select><script>$(function(){ $.ajax({ type: ‘POST‘, url:url;//your actual url dataType: ‘json‘, cache: false, async:false, success:function(data) { $(‘#funcNum‘).get(0).options.length = 0; $(‘#funcNum‘).append(‘<option value="">Pls Select</option>‘); $.each(data, function(i, obj) { var option = $(‘<option />‘); option.val(obj.id); option.text(obj.desc); $(‘#funcNum‘).append(option); }); }, error: function() { alert("Error while getting vehicle type results"); } });});</script>
Controller層
response.setContentType("application/json"); response.setCharacterEncoding("utf-8"); PrintWriter writer = response.getWriter(); net.sf.json.JSONArray array = JSONArray.fromObject(new ArrayList());//The list that contains actual data,use a new arrayList instead here writer.append(array.toString()); return null;
使用jquery的ajax方法擷取下拉式清單值