我在angularjs中使用了kendo。当我从autocomplete widget中选择时,我想直接在表单中提交所选值。当我在表单中写入文本时(即使自动填充不建议文本),输入应始终提交表单。
代码的一个小例子,没有angularjs:
<form>
<input id="items"/>
<button type="submit">Submit</button>
</form>
使用Javascript:
var names = ["Item 1","Item 2","Item 10","Item 20"];
$("#items").kendoAutoComplete({
dataSource: names,
ignoreCase: true
});
var autocompleteFacility = $("#items").data("kendoAutoComplete");
$("form").submit(function(event) {
alert("Submitted item: "+$("#items").val());
event.preventDefault();
});
http://jsfiddle.net/f8qhb57u/6/
奖励:我想决定选择是用键(输入)还是用鼠标点击完成。
答案 0 :(得分:2)
答案 1 :(得分:0)
我发现使用close事件。你有一个属性(“_last”),这是最后一个按下的键。因此,我可以决定是否使用鼠标或输入进行选择(如果没有选择也是如此)
autocompleteFacility.bind("close", function() {
if(this._last === 13) {
console.log("selection by enter");
// autosubmit when enter used
$("form").submit();
} else {
// if mouse is used, do nothing
console.log("selection by mouse");
}
});
摆弄我的解决方案:http://jsfiddle.net/fx2eprqv/2/