我有很少的锚元素包含一些文字,比如“猫”,“牛”,“狗”。
当我点击“Cat”时,我想在搜索输入上附加文字。
我试过这个:
jQuery(' .link ').on('click', function(event) {
jQuery('input[name="search"]').val(jQuery('.link').text().trim());
jQuery('input[name="search"]').keyup();
});
但是我需要一种方法来监听每个锚元素并相应地更新搜索输入,现在它只能工作一次。
有什么建议吗?
答案 0 :(得分:1)
问题是由点击功能中的选择器引起的,而不是将点击的元素的文本添加到搜索框中,而是编写所有元素'按顺序将文本写入搜索框,因此只有最后.link
个文本保留在搜索框中。试试这个:
jQuery(' .link ').on('click', function(event) {
jQuery('input[name="search"]').val($(this).text().trim());
jQuery('input[name="search"]').keyup();
});
在这里Fiddle,看看你是否正在寻找。
答案 1 :(得分:0)
您尚未提供HTML,因此我将以此(stackoverflow)页面为例...
您可以根据以下内容获取文本并将其添加到您的输入属性中:document.getElementById('search').children[0].placeholder = document.getElementById('nav-tags').textContent;
实际上,你应该这样做:
<a href="" onclick="document.getElementById('search').children[0].placeholder = this.textContent;">Some animal</a>
或者,为了使其更具可读性,请创建函数并添加事件侦听器,但这是基础......