<div class="layui-form-item"> <label class="layui-form-label"><span class="f_orange">*</span>字段編號</label> <div class="layui-input-block width_250 pos-r"> <input type="text" class="layui-input" name="ColumnCode" lay-verify="required|inputLength_100" placeholder="" autocomplete="off"> <i class="icon_ca_layui"></i> </div> </div>
@* 備案網點 *@ <div class="layui-input-block" style="margin-top:5px; margin-left:320px;"> <label class="layui-form-label">備案網點</label> <div class="layui-input-inline"> <input type="text" id="txtRegisterCompanyId_searchForm" lay-verify="required" style="width:200px;" placeholder="請輸入" data-provide="typeahead" class="layui-input" autocomplete="off"> <input type="hidden" name="RegisterCompanyId" id="hiddenRegisterCompanyId_searchForm" /> </div> </div>
// 備案網點 siteUtility.GetAllSiteByKey("#txtRegisterCompanyId_searchForm", "#hiddenRegisterCompanyId_searchForm");
一個是輸入框的 id, 一個是隱藏域的 id。
該 GetAllSiteByKey 公共函數已定義在 baseUtility.js 中。javascript
// 收集 查詢表單數據 var serializeForm = $("#searchForm").formSerialize(true);
該序列化方法能夠獲取隱藏域的 id 值。java
/* 獲取所有的網點 @param txtElementId 輸入框Id @param hiddenElementId 與輸入框匹配的隱藏域Id */ GetAllSiteByKey: function (txtElementId, hiddenElementId) { $(txtElementId).typeahead({ minLength: 0, //items: 'all', source: function (query, process) { var xdata = []; console.group('查詢條件 = ' + query); $.ajax({ type: "GET", url: urlEnum.GetAllSiteByKey, async: false, data: { "q": query }, success: function (result) { console.info('GetAllSiteByKey result'); console.info(result); if (result != null && result != undefined) { $.each(result.list, function (i, item) { xdata.push({ id: item.value, name: item.key, obj: item }); }); // end each } }, error: function (XMLHttpRequest, textStatus, errorThrown) { // layer.msg("數據加載失敗", { icon: 1 }); }, timeout: 5000 }); console.info('Auto 返回值:'); console.info(xdata); // 若是 Auto 控件被用戶置空則同時將隱藏域也置空 if ($(txtElementId).val() == "") { $(hiddenElementId).val(""); } console.groupEnd(); return process(xdata); }, updater: function (item) { console.info('updater = ' + item); console.info(item); $(hiddenElementId).val(item.id); return item; } }); // end typeahead }
不管輸入框是普通的仍是自動完成的,均可以直接賦值ajax
// 備案網點 $("#txtRegisterCompanyId_editForm").val(registerCompanyName);