我在搜索表单中有一个下拉菜单和一个清晰的搜索按钮。我希望在单击按钮时清除下拉列表中的选定值。下面包含的coffeescript代码都是有效的,除了我无法清除下拉列表。我怎样才能做到这一点?
<%= search_form_for @search, :builder => SimpleForm::FormBuilder do |f|%>
<%= f.input :year_gteq, :collection =>years_options%>
<%= f.input :year_lteq, :collection =>years_options%>
<%= f.submit "Clear Search", :name => nil, :id => :q_reset, :class => "btn" %>
咖啡脚本
$("#q_reset").click ->
$(".clear-fields").val('')
$('input:checkbox').removeAttr('checked')
$('#clear-dropdown-fields').prop('selectedIndex', 0)
这对我有用:
$('form select')。val('')
答案 0 :(得分:1)
您可以在表单上调用reset()
以将字段返回到其起始值。
或者您可以将selectedIndex
设置为0
。
$('#clear-dropdown-fields').prop('selectedIndex', 0);
答案 1 :(得分:0)
你为2个dom元素使用相同的id,这就是
的原因$('#clear-dropdown-fields').prop('selectedIndex', 0)
不会在第二次下拉列表中工作。你可以做的是使用一个类而不是id或只是找到表单中的元素。您还可以使用val('')
重置该值。
$('form select').val('')