将选中(单击)选项传递到输入框

时间:2016-04-14 13:25:00

标签: javascript jquery select click

我有一堆输入建议,但我不能让它们可点击。

<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;

1 个答案:

答案 0 :(得分:2)

当您的$('.match')选择器运行时,没有匹配的元素,因为只要页面加载就会发生这种情况。

您可以委托父母或文档,因为这会在事件冒泡后将其设为首位:

$(document).on('click', '.match', function(){
    alert('df');
    $value = $(this).text();
    $('#native').val($value);
});

.val()语法需要新值作为参数。