2

我有一个带有下拉菜单 ( %ul.dropdown) 和一个文本字段 ( %input) 的表单。下拉列表中有书籍列表。每当单击下拉列表中的项目时,书名将出现在文本字段中(我在代码示例中未包含的 Javascript 中执行此操作)。如果我提交表单,我希望提交项目的 id,而不是标题本身。我可以通过使用隐藏字段和 jQuery 来实现这一点,但是,如果有一种简单而优雅的方式来做到这一点会更好。有什么想法吗?谢谢

代码(在haml中):

.input-group
  %input.form-control#book-selected{ type: "text", placeholder: "Please, select" }/  
    .input-group-btn
      %button.btn.button-transparent.dropdown-toggle{"data-toggle" => "dropdown", type: "button"}
        .icon-arrow-down
      %ul.dropdown-menu.pull-right#books-list
        - @books.each do |book|
          %li
            %a.book-select{ href: "#", 'data-book-id' => book.id }= book.name
4

1 回答 1

0

以下是提交侦听器的一些示例:

为表单提交事件侦听器

通过内联 JavaScript 提交表单时使用提交事件侦听器?

一个类似的问题已经被问到here

代码示例:

$('#myform').submit(function(event) {
  $('#book-selected').val( currentBookId );
  this.submit();
});
于 2013-11-01T22:23:32.040 回答