Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 用点击链接填充输入字段-不工作_Jquery_Input_Field - Fatal编程技术网

Jquery 用点击链接填充输入字段-不工作

Jquery 用点击链接填充输入字段-不工作,jquery,input,field,Jquery,Input,Field,我试图通过单击链接来填充输入字段。此链接的href应确定将在此输入字段中填写的内容 $(".search_item").click(function(){ var selectedChamp=$(this).attr('href').split('=')[1]; $('.textfield').val( selectedChamp ); return false; }); 我使用了以下JSFIDLE: 但我就是不能让它为我自己工作 链接是使用JSRender生成的

我试图通过单击链接来填充输入字段。此链接的href应确定将在此输入字段中填写的内容

$(".search_item").click(function(){
    var selectedChamp=$(this).attr('href').split('=')[1];
    $('.textfield').val( selectedChamp );
       return false;
});
我使用了以下JSFIDLE: 但我就是不能让它为我自己工作

链接是使用JSRender生成的

在这一页上:你可以看到我正在努力实现的目标。 在顶部的栏中填写一些内容(只需输入字母“A”,它将显示一些结果),右边的链接应该在输入字段中输入一些内容

$(".search_item").click(function(){
    var selectedChamp=$(this).attr('href').split('=')[1];
    $('.textfield').val( selectedChamp );
       return false;
});
奇怪的是,在这个页面的底部有几个链接,它们确实起作用。它们使用完全相同的代码,但由于某些原因,它们可以工作,而其他链接不能


非常感谢您的帮助。

您应该使用
.preventDefault()
这样,一单击就触发了另一个事件

$(".search_item").click(function(e){
    e.preventDefault();
    var selectedChamp=$(this).attr('href').split('=')[1];
    $('.textfield').val( selectedChamp );
});
我在你的页面上测试了它,这个小改动对我很有用

编辑:我收回这个。。。因为问题不在于脚本本身。。。如果我把它放进控制台,它已经做了正确的事情。。。这意味着在启动脚本时,它找不到所需的DOM元素

  • 如果我在搜索之前启动脚本。。。它不起作用
  • 如果我搜索然后将脚本粘贴到控制台中。。。它查找
    .search\u项
    元素并按预期工作

所以我不确定您上面的文本字段脚本当前位于何处。。。但是只有当搜索结果元素已经加载并且可以在DOM中找到时,才应该调用它。

我认为这应该可以:

pr = "";
setInterval(function(){
  if(document.location.hash != pr){

    $('.textfield').val( document.location.hash.split('=')[1] );

    // Do what you want

    pr = document.location.hash;
  }
}, 50);

链接看起来像什么?它们里面有
=
吗?如果我不得不猜测的话,我会说那些有效的链接中有一个
=
。不起作用。另外,return false本质上不一样吗?嗯。。。你是对的,返回错误,但它对我来说是有效的。。。当我将脚本运行到控制台中时,我会执行ta。问题显然只是当您触发执行javascript$(“.search\u item”)时,不知何故找不到DOM元素。。。什么时候应用脚本。。。文件加载?也许你可以在搜索结果中添加一个块。。。看看能不能找到。啊,听起来像是个计划。一旦我尝试过,我会报告。代表:他们建议
.On('click'),…
vs
。单击(…
+1以获得良好的解决方法…每50毫秒重复调用脚本一次。但我认为在jautocomplete生成元素后只调用一次会更优雅。