如何创建一个"link",以便在单击特定关键字时将其输入输入字段?



我正在开发Rails应用程序。
如果你点击这个按钮,它会自动输入@keyword到body_input
我想用link_to代替button_to。
我怎么能呢?

<

视图/strong>

<%= button_to "Populate the chat box", "#name", :id => :username, :value => @keyword %>
jQuery

$(document).ready(function(e) {
     $('button#username').click(function () {
         e.preventDefault();
         $(".chat_input#body_input").val($(this).attr('value'));
     });
});

附加信息(这是在HTML中输出javascript)

<script type="text/javascript">
    //<![CDATA[     
        $(document).ready(function(e) {
             $('button#username').click(function () {
                 e.preventDefault();
                 $(".chat_input#body_input").val($(this).attr('value'));
             });
        });
    //]]>
</script>

以下两个函数在功能上是等价的,但在标记上不同:

<%= link_to "Populate the chat box", "#name", :id => :username, :value => @keyword %>
<%= button_to "Populate the chat box", "#name", :id => :username, :value => @keyword %>

正如评论者PSL敏锐地指出的那样,如果您决定使用link_to跳转到命名锚,则需要修改您的jQuery函数以删除e.preventDefault():

$(document).ready(function() {
     $('a#username').click(function () {
         $(".chat_input#body_input").val($(this).attr('value'));
     });
});

我不熟悉ROR语法,但试试这个:

<%= link_to "Populate the chat box", "#name", :id => :username, :value => @keyword %>

和(Id必须是唯一的,所以在jquery的Id选择器中避免使用标签名#Id只使用Id)

$(document).ready(function(e) {  
     $('#username').click(function () {  
         e.preventDefault();
         $(".chat_input#body_input").val($(this).attr('value'));
     });
});

最新更新