我的页面上有一个 select2,其中包含以下 onchange 事件:
$("#product_menu_category_id").on("change", function(e) {
$.ajax( {
url: '/product_prices',
data: {id: e.val, product_id: <%= @product.id %> },
success: function(data){ data }
})
})
并使用以下辅助函数在测试期间设置一个值:
def set_select2_value(index, id, value)
"$('.select2-container').each(function(index) {if (index == " + index.to_s + ") $(this).select2('data', {id: '" + id.to_s + "', text: '"+ value + "'})});"
end
这适用于所有没有连接 onchange 触发器的 select2 控件。
如何在我的 RSpec (capybara) 测试期间设置值并触发任何 onchange 事件(如果存在的话)?