我正在尝试通过单击链接来填充输入字段。此链接的href应确定将在此输入字段中填写的内容。
$(".search_item").click(function(){
var selectedChamp=$(this).attr('href').split('=')[1];
$('.textfield').val( selectedChamp );
return false;
});
我使用了以下JSfiddle:http://jsfiddle.net/charlietfl/5u3BZ/ 但我无法让它为自己工作。
使用JSRender生成链接。
在此页面上:http://lorebook.net/lore/您可以看到我想要实现的目标。 在顶部的栏中填写一些内容(只需输入字母“A”,它将显示一些结果),那里的链接应该在输入字段中输入内容。
奇怪的是,在这个页面的底部有一些确实有用的链接。他们使用完全相同的代码,但由于某种原因他们工作,而其他链接则没有。
非常感谢帮助。
答案 0 :(得分:1)
你应该使用.preventDefault();
这样,点击即可触发替代事件。
$(".search_item").click(function(e){
e.preventDefault();
var selectedChamp=$(this).attr('href').split('=')[1];
$('.textfield').val( selectedChamp );
});
我在你的页面上对它进行了测试,并且适用于这个小改动,它适用于我。
编辑:我把它拿回来......因为问题不在于脚本本身......如果我将它放入控制台,它就会做正确的事情......这意味着在脚本启动时,它找不到它需要的DOM元素。
.search_item
元素并按预期工作。所以我不确定您的上述文本字段脚本当前位于何处...但您应该只在已经加载搜索结果元素并且可以在DOM中找到它时调用它。 < / p>
答案 1 :(得分:1)
我认为这应该有效:
pr = "";
setInterval(function(){
if(document.location.hash != pr){
$('.textfield').val( document.location.hash.split('=')[1] );
// Do what you want
pr = document.location.hash;
}
}, 50);