2008-11-17 74 views
25

我有一个文本框的值,我想根据锚标记的内部文本设置。换句话说,当有人点击这个锚:如何使用jQuery使用锚来设置文本框的值?

<a href="javascript:void();" class="clickable">Blah</a> 

我想我的文本框填充文本“Blah”。这是我目前使用的代码:

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $("a.clickable").click(function(event){ 
      $("input#textbox").val($(this).html()); 
     }); 
    }); 
</script> 

而且在我的HTML有与类“点击”和一个文本框id为“文本框”锚标签的列表。

我用代码代替上面的代码,只显示$(this).html()的JavaScript警报,它似乎显示正确的值。我还将$(this).html()更改为硬编码字符串,并正确地对文本框值进行了排序。但是当我结合他们的文本框只是清除。我究竟做错了什么?

回答

52

我写了这个代码段和正常工作:

<a href="#" class="clickable">Blah</a> 
<input id="textbox"> 
<script type="text/javascript"> 
    $(document).ready(function(){ 
     $("a.clickable").click(function(event){ 
      event.preventDefault(); 
      $("input#textbox").val($(this).html()); 
     }); 
    }); 
</script> 

也许你忘了给一个类别名称“点击”你的链接呢?

+0

谢谢。从你的代码中,我可以知道出了什么问题。这是一个空白问题(我在一个单独的行中有锚标记内的实际文本)。 – 2008-11-17 19:08:29

6

只需要注意,在选择器中为tagName加前缀比使用id更慢。 在你的情况下,jQuery将得到所有的输入,而不仅仅是使用getElementById。 只需使用$('#textbox')

+1

这个答案对问题的评论可能会更好。 – icktoofay 2010-04-22 20:58:49

1

以下红色方块:您不应该在像href属性的javascript代码中使用“javascript:void();” - 这是错误的。更好地使用例如href =“#”,然后在你的事件处理程序中作为最后的命令:“return false;”。甚至更好 - 在href正确的链接中使用 - 如果用户禁用了JavaScript,则Web浏览器会遵循链接 - 在这种情况下,您的网页应该用填充了该链接值的输入重新加载。

4

要指定一个文本框ID为 “文本框”,在jQuery,请执行下列操作

$( “#文本框”)的值。得到(0).value的= “嗒嗒”

+1

我刚才在同样的问题上使用了这个语法,并且令人难以置信地发挥了作用!谢谢! – rixter 2012-03-08 22:01:12

14

要在jQuery中为id为ёtextboxё的文本框赋值,请执行以下操作:

$("#textbox").val('Blah'); 
+1

我相信提问的人已经知道了,就像你在代码中看到的一样。 – icktoofay 2010-04-22 20:59:39

相关问题