Ruby从选择列表中选择随机元素与optgroup
问题描述:
即时尝试从选择列表中选择一个随机元素,我可以映射所有选项,然后随机选择一个,但问题是te选择器内的optgroup,这里是一个html和我的代码的示例。 HML:Ruby从选择列表中选择随机元素与optgroup
<select class="formDY-control" name="destino" id="destino">
<option value="0" style="background-color:#eeeeee">Selecciona Lugar de
Recogida</option>
<optgroup value="0" label="Aeropuertos">
<option value="LUX01">Luxemburg Aeropuerto</option></optgroup>
<optgroup value="0" label="Todos los Destinos">
<option value="LUX01">Luxemburg Aeropuerto</option>
<option value="LUX02">Luxemburg City Ciudad</option>
</optgroup></select>
在这里,我的代码
ciudad = browser.select_list(id: 'destino').options.map(&:value)
ciudad.shift
city = ciudad.sample
browser.select_list(id: 'destino').select(city)
的问题是,代码返回所选择的选项(阵列样品)不在选择列表
答
而不是随机选择一个选项值,您可以选择一个随机选项元素。然后你可以使用它的select
方法来选择特定的选项(而不是要求选择列表中找到选项再次):
ciudad = browser.select_list(id: 'destino').options
ciudad.shift
city = ciudad.sample
city.select
答
既然你正在使用阵列和optgroups的值为零,你可以做这样的事情
browser
.select_list(id: 'destino')
.options
.select{ |opt| opt.value != '0' }
.map(&:value)
什么是'ciudad'的代码的第一行后的值? – hoffm
是一个数组,其中包含两个optgroups的下拉列表 – Boikot