我正在尝试使用 jQuery 自动更新我的 Rails 应用程序中的相关选择框。它适用于没有像“Barahona”或“Manzanillo”这样的空格的值,但是当我尝试像“Puerto Plata”或“Santo Domingo”这样的东西时它会失败。
这是我选择“Puerto Plata”时来自控制台的错误。
Uncaught Error: Syntax error, unrecognized expression: optgroup[label=Puerto Plata]
我正在使用从 Railscasts #88 采用并在此处列出的 jQuery 来选择一个端口,然后过滤泊位以仅列出来自该端口的泊位。
这是jQuery:
jQuery ->
berths = $('#voyage_berth_id').html()
console.log(berths)
$('#voyage_port_id').change ->
port = $('#voyage_port_id :selected').text()
options = $(berths).filter("optgroup[label=#{port}]").html()
console.log(options)
if options
$('#voyage_berth_id').html(options)
$('#voyage_berth_id').parent().show()
else
$('#voyage_berth_id').empty()
$('#voyage_berth_id').parent().hide()
这是视图:
<%= f.label :port_id %>
<%= f.collection_select :port_id, Port.order(:name), :id, :name %>
<%= f.label :berth_id %>
<%# f.collection_select :berth_id, Berth.order(:name), :id, :name %>
<%= f.grouped_collection_select :berth_id, Port.order(:name), :berths, :name, :id, :name %>