如何创建一个“链接”来输入特定的关键字到输入栏单击时?(How can I create a “li

2019-11-02 05:02发布

我工作的Rails应用程序。
如果你点击这个按钮,它会自动输入到@Keyword body_input
我想它的link_to而不是button_to。
我怎样才能?

视图

<%= 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>

Answer 1:

下面的两个是等价的功能,虽然不是在标记:

<%= 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'));
     });
});


Answer 2:

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

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

和(ID必须是唯一的,这样在ID副歌jQuery选择使用标记名#标识只是使用ID)

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


文章来源: How can I create a “link” to input particular keyword into input field when it's clicked?