我几乎没有包含一些文本的锚元素,比如“猫”、“牛”、“狗”。
例如,当我单击"Cat“时,我想在搜索输入中添加文本。
我试过这个:
jQuery(' .link ').on('click', function(event) {
jQuery('input[name="search"]').val(jQuery('.link').text().trim());
jQuery('input[name="search"]').keyup();
});
但是我需要一种方法来侦听每个锚元素并相应地更新搜索输入,现在它只工作一次。
有什么建议吗?
发布于 2015-03-16 18:57:09
问题是由单击函数中的选择器造成的,而不是将单击元素的文本添加到搜索框中,而是按顺序将所有元素的文本写入搜索框,因此只有最后一个.link
文本保留在搜索框中。试一试:
jQuery(' .link ').on('click', function(event) {
jQuery('input[name="search"]').val($(this).text().trim());
jQuery('input[name="search"]').keyup();
});
这是一个小提琴,看看这是不是你想要的。
发布于 2015-03-16 18:55:09
您还没有提供HTML,所以我将以这个(堆栈溢出)页面为例.
您可以获取文本并将其添加到您的输入属性中: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>
或者,为了提高它的可读性,创建函数并添加事件侦听器,但是这是基本的.
https://stackoverflow.com/questions/29084060
复制相似问题