我有一堆输入建议,但我不能让它们可点击。
<div class="search_native">
<input type="text" name="native_input" id="native"/>
<div id='output'></div>
</div>
$(document).ready(function() {
$("input").keyup(function(){
$array = ['usa','france','germany','italy','poland'];
$input_val = $("input[name='native_input']").val();
$('#output').text('')
r = new RegExp($input_val)
for (i = 0; i < $array.length; i++) {
if ($array[i].match(r)) {
$('#output').append('<p class="match">' + $array[i] + '</p>')
}
}
});
$('.match').click(function(e) {
alert('df');
});
});
我尝试检查点击匹配是否有效,但事实并非如此。 alert()
没有弹出。为什么?还有一个问题;如果我需要将点击选项中的值放入输入框中,我可以为它制作这样的内容(当已经点击时)吗?
$value = $(this).val();
$('#native').val() = $value;
答案 0 :(得分:2)
当您的$('.match')
选择器运行时,没有匹配的元素,因为只要页面加载就会发生这种情况。
您可以委托父母或文档,因为这会在事件冒泡后将其设为首位:
$(document).on('click', '.match', function(){
alert('df');
$value = $(this).text();
$('#native').val($value);
});
.val()
语法需要新值作为参数。