如何获取嵌套在jQuery Typeahead搜索div中的asp:TextBox值?
解决jQuery Typeahead Hockey v2与ASP.NET TextBox值获取失效问题
我最近在使用jQuery Typeahead的Hockey v2示例时碰到了个棘手的问题:页面里的asp:TextBox控件嵌套在typeahead__container容器内,按常规操作后台用Dim val As String = searchInputField.Text就能获取文本框的值,但这次完全失效了。
仔细排查后发现了问题根源:Typeahead选中的选项(比如Canadiens、Avalanche)实际是存储在span元素里的,asp:TextBox并没有同步感知到这些选中值,所以后台自然读不到正确内容。
最终我用这个方案解决了问题:借助Typeahead的onSubmit回调函数,把选中项的ID存入asp:HiddenField,再通过后台代码读取该隐藏域的值。
前端回调代码
callback: { onSubmit: function (node, form, items, event) { event.preventDefault(); var searchValue = items.map(a => a.ID) document.getElementById("hiddenSearchResults").value = searchValue ; setTimeout(function () { __doPostBack(document.forms[0].name ); }, 1) } }
后台读取代码
searchValues = hiddenSearchResults.Value
内容的提问来源于stack exchange,提问作者gkoul
相关产品推荐
相关产品推荐

