我正在使用数据列表,需要检测用户何时从下拉列表中选择某些内容。类似的问题已被问到 https://stackoverflow.com/questions/16027746/jquery-event-when-html5-datalist-option-is-clicked但我需要它,以便仅当用户从数据列表中选择某些内容时才会触发事件。如果他们在输入中键入某些内容,那么我不希望触发该事件。 (请注意,在我链接的问题的接受答案中,它们绑定了输入,这不是我想要的)。我尝试过(没有成功):
<datalist>
<option>Option 1 Here</option>
<option>Option 2 Here</option>
</datalist>
$(document).on('change', 'datalist', function(){
alert('hi');
});
编辑:
这个问题与建议的问题不同,因为这是一个完全不同的问题。
您可以手动检查更改。但您需要检查数据列表输入的变化。
FIDDLE http://jsfiddle.net/Mbhz4/
$(document).on('change', 'input', function() {
var options = $('datalist')[0].options;
var val = $(this).val();
for (var i = 0; i < options.length; i++) {
if (options[i].value === val) {
console.log(val);
break;
}
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<input list="ff">
<datalist id="ff">
<option>Option 1 Here</option>
<option>Option 2 Here</option>
</datalist>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)