是否可以获取用户输入的当前输入值?
问题是如果组合框没有最后关注,可以单击输入提交表单,我需要验证用户写的内容,即使他没有在下拉列表中选择。
答案 0 :(得分:0)
是的,只需抓取搜索字段val()
元素的<input>
即可。
在下面的示例中,我们使用keyup
作为事件来检查用户是否按下了Enter键,并将其用作触发器来执行您想要的操作:抓取搜索字段的当前内容。
如果该字段已被清空,那么您可以使用其他一些触发器来获取该字段的内容(请记住,它只是一个普通的<input>
标记)并且可能将其存储到隐藏的输入字段中以确保安全保持。然后,当您准备好时,读取您在该隐藏输入字段中存储的值,就像我们读取下面示例中的非隐藏输入字段一样。
要阅读的字段:<input id="tags">
阅读方法:strSrxField = $("#tags").val();
示例:
<强> HTML:强>
<div class="ui-widget">
<label for="tags">Tags: </label>
<input id="tags">
</div>
<强>的jQuery / JavaScript的:强>
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
});
$('#tags').keyup(function(e) {
var keycode = (e.keyCode ? e.keyCode : e.which);
if(keycode == '13'){
var srx = $('#tags').val(); //in this fn, you could also use $(this).val()
alert('You entered: ' + srx);
}
});