我有一个选择(动态)名单在<input>
领域:是否有与选择datalist <option>相关的事件?
<input list="choices">
<datalist id="choices">
<option>one</option>
<option>two</option>
</datalist>
是否有事件触发的<option>
的做出选择之后,对不对?(如果这很重要,我想在Vue.js中捕捉/使用)。鼠标左键点击下面的情况时,这将是:
我有一个选择(动态)名单在<input>
领域:是否有与选择datalist <option>相关的事件?
<input list="choices">
<datalist id="choices">
<option>one</option>
<option>two</option>
</datalist>
是否有事件触发的<option>
的做出选择之后,对不对?(如果这很重要,我想在Vue.js中捕捉/使用)。鼠标左键点击下面的情况时,这将是:
试试这个。它会检查该值在输入框中存在,当你选择你要求的选项时触发警报
<input list="choices" id="searchbox">
<datalist id="choices">
<option id="one">one</option>
<option>two</option>
</datalist>
$("#searchbox").bind('input', function() {
if(checkExists($('#searchbox').val()) === true){
alert('item selected')
}
});
function checkExists(inputValue) {
console.log(inputValue);
var x = document.getElementById("choices");
var i;
var flag;
for (i = 0; i < x.options.length; i++) {
if(inputValue == x.options[i].value){
flag = true;
}
}
return flag;
}
它看起来像在数据列表选项不跳跳虎任何事件,所以你需要自己的代码解。
我能够做类似的火灾,在数据列表选项事件东西,在元素使用@input
例如,在你的代码,你可以尝试的解决方案开始,这个
<input list="choices" @input="checkInput" >
<datalist id="choices">
<option>one</option>
<option>two</option>
</datalist>
在与@input一起使用的方法中,您可以检查输入值中的更改。
checkInput(e){
var inputValue = e.target.value;
//Your code
},
例如,您可以检查输入值,请在您的datalyst的一个选项后,是一个有效的选择,而且条件满足后,可以启动任何你想要的另一种方法或。
您可以触发。每当选项值发生变化时更改jquery – ISHIDA
@ISHIDA:在选择选项后,您的意思是**,而不是在每次击键后**(因此输入内容发生变化领域)?那太好了。 – WoJ
是的我在回答中提供了一个示例 – ISHIDA