我现在拥有的:
所以我有这个 HTML5 数据列表,里面有很多选项,我有 2 个事件触发。当用户键入与填充选项的名称数组匹配的内容时,例如“Rick Bross”或“Jack Johnson”(keyup)。当用户开始输入名称时触发的另一个事件,它会弹出,用户向下箭头,然后点击“输入”(更改)。
问题:
当用户单击其中一个下拉选项,在他输入全名之前以及在对象模糊之前,我需要一个事件来触发。如果用户在完全输入名称之前立即单击一个,则这两个事件仅在输入模糊时触发该函数。
标记:
<datalist id="potentials">
<option value="Rick Bross">
<option value="Jack Johnson">
<option value="Rick Bross">
<option value="Rick Bross">
</datalist>
Javascript 事件和函数:
window.checkModelData = function(ele)
{
var name = $(ele).val().replace(" ", "");
var mod = potentialModels[name];
if(mod) {
loadModelData(name);
}
}
function loadModelData(name) {
var mod = potentialModels[name];
$("#address").val(potentialModels[name].address);
$("#city").val(potentialModels[name].city);
$("#state").val(potentialModels[name].state);
$("#email").val(potentialModels[name].email);
$("#phone").val(potentialModels[name].phone);
$("#zip").val(potentialModels[name].zip);
}
$("#name").keyup(function(){
window.checkModelData(this);
});
$("#name").change(function(){
window.checkModelData(this);
});