我正在开发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'));
});
});